1、在本地写好了flask项目代码
使用命令将本地虚拟环境中的第三方包导出为requirements.txt文件
pip3 freeze --all > requirements.txt
# 这里注意使用的是pip3进行导出,使用pip命令进行导出的话,会发现不一致
2、在远程服务器中将代码pull下来
3、在远程服务器中创建虚拟环境
python3 -m venv ./venv(自己将要创建的虚拟环境名)
# 进入bin目录中,使用source命令激活activate
cd ./venv/bin
source activate
# 这样就进入了刚刚创建的虚拟环境中,使用pip将requirment.txt文件中的第三方包进行导入
pip3 install -r ../../requirement.txt
# 使用flask命令启动app
flask app.py
# 使用deactivate命令可以退出虚拟环境
deactivate
4、部署的时候除了使用flask命令直接进行运行外还可以使用其他的库进行运行
# 这里给出两种方案:
# 1、uwsgi + nginx + flask 部署web项目,请参考这篇文档进行部署:https://blog.csdn.net/weixin_42337937/article/details/88070967
# 2、使用gunicorn进行部署:
# 这里给出启动和停止的脚本模板:
# 启动脚本模板:(5000代表启动项目的端口号),并将日志导出至某个文件夹的access.log文件中
cd /opt/pyProject/projectName
source /opt/pyProject/projectName/venv/bin/activate
gunicorn -w 1 -b 127.0.0.1:5000 app:app -D --capture-output --log-level DEBUG --access-logfile /opt/pyProject/projectName/access.log
deactivate
# 停止脚本模板(根据端口号5000进行停止项目)
kill $(lsof -i:5000 | awk '{if(NR==2)print $2}')