这里写自定义目录标题
一、腾讯云购买服务器并配置登录宝塔
在腾讯云购买公网并配置宝塔Linux面板简单流程可参考视频:
如何在公网部署网站
二、在宝塔Linux面板内搭建Flask项目
1. 上传项目文件
1.1 准备工作
在上传项目文件之前,我们需要将项目运行所需环境进行打包。采用 virtualenv 库创建和管理项目环境。
第一步:安装 virtualenv
在开始之前,确保你的系统中已经安装了 Python。virtualenv 是一个 Python 包,可以通过 pip 命令安装。打开终端或命令提示符,输入以下命令:
pip install virtualenv
如果你使用的是 Python 3,可能需要使用 pip3 来代替 pip。
pip3 install virtualenv
第二步:virtualenv 创建虚拟环境
用 virtualenv 创建一个新的虚拟环境:在当前目录下创建一个名为 flask_kedney_venv 的文件夹,其中包含了一个新的 Python 环境。
例如创建一个python3.8.17解释器的虚拟环境:(其中 flask_kedney_venv 可替换成你需要的虚拟环境名)
virtualenv -p python3.8.17 flask_kedney_venv
第三步:激活环境:
- 在 Windows 上使用:
flask_kedney_venv\Scripts\activate
- 在 macOS 或 Linux 上,使用:
source flask_kedney_venv/bin/activate
第四步:在创建的虚拟环境中安装所需的包
- 可通过生成环境配置信息的requirements.txt配置环境
- 生成requirements.txt
pip freeze > requirements.txt
- pip安装依赖包
pip install -r requirements.txt
1.2 文件上传方法
可从腾讯云中你购买的网站那进入宝塔Linux面板,将项目上传到宝塔Linux面板的 /www/wwwroot 路径下,具体步骤可参考一下操作。
以下例子中 flask_kedney 为本人上传完成的项目
2. 新建python项目
第一步: 添加Python项目:
参考下图填写相关信息,下面为以上传的项目flask_kidney为例。
(1)项目路径:导入项目正确路径后,下面的项目名称和运行文件即自动填入
(2)项目端口:可设置为 8000 或自行创建的端口号
(3)放行端口:记得选中,外网才能访问
(4)框架:选flask
(5)运行方法:uwsgi 网络协议:wsgi
(6)安装依赖包:【1.1第四步】导出的环境配置 requestment.txt
点击提交后就可以看到该项目的状态
3. 项目设置
3.1 项目配置
3.2域名管理
第一步:从腾讯云中获取你的公网ip (内网ip)
第二步:填写到宝塔中的域名管理,后点击“添加”即可
- 输入格式: 域名(或外网ip):端口号**
3.3外网映射
- 打开外网映射
3.3配置文件
设置Nginx(关键)
找到server部分,修改listen为上面设置的端口号【与上面第2点设置的统一】,server_name为自己服务器的公网ip【上面第3.2点有提及】,修改root为自己的项目目录
3.4运行配置
flask项目中uwsgi配置
内网ip 为【3.2有提及】; 端口号【与上面第2点设置的统一】
- chdir:为自己项目的目录
- http:把原始的socket改为http,然后把地址改为 内网ip:端口号
- buffer-size:建议改大一点
- virtualenv:设置为项目文件下自动生成的环境文件夹
http = 1*...**:8000
#添加的部分
buffer-size=65536
callable=app
virtualenv = /www/wwwroot/flask_kedney/flask_kedney_venv
如果点确认的时候显示端口已被占用,则需要先打开服务器终端,输入命令
netstat -anp | grep 8001,查看是哪个进程占用了当前端口
接着输入命令 kill -s 9 XXXX,XXXX为占用该端口的进程名
然后再重新配置flask项目的uwsgi
3.5 设置Nginx(关键)
第一步:找到server部分
- 修改server_name为自己服务器的公网ip
- 修改root为自己的项目目录
添加location,添加
include uwsgi_params;
uwsgi_pass 1*...**:8000; #这个地址和端口号一定要与flask项目中uwsgi配置【3.4有提及】时的地址和端口号相同
uwsgi_param UWSGI_CHDIR /www/wwwroot/project; #设置为自己的项目目录
添加location /static/
添加alias www/wwwroot/project/static; #表明访问flask中的static目录下的静态文件,如CSS,图片等。
4. 放行端口
添加端口,然后提交即可。【注意添加的端口要为以上所设置的端口统一】
三、Flask项目代码修改
需要修改项目代码中的网站和端口的设置。
1、app.py 文件中
app.run(host=‘内网ip’,post=端口号,debug=True)
2、前端代码/其他有设置了网站或端口的地方
例如个人的html中设置了相关链接,运用了网站或端口,需要将其修改为
herf = “http://外网ip:端口号/”
四、测试与运行
1. 测试
在项目运行前,可在此终端进行项目测试与调试。
【注意:记得进入virtualenv 创建的虚拟环境中】
命令如下 :flask_kedney_venv为你创建的虚拟环境名
source flask_kedney_venv/bin/activate
2. 运行
点击开启运行后,就可以通过 http://外网ip:端口号 访问属于你自己的网站啦!!!
五、效果展示
六、可参考文献
最简单最详细的宝塔部署flask教程
手把手教您使用Python项目管理部署Djangoblog
零基础搭建网站-借助宝塔面板在阿里云部署Flask项目并启动Celery
版权归原作者 HuKa 充能版 所有, 如有侵权,请联系我们删除。