2021-11-08如何基于python+gunicorn+nginx在linux服务器上部署多个flask项目

环境和工具

本文是建立在已经安装了nginx工具的基础上完成的,所以需要大家提前安装好nginx工具(注意在服务器的root用户下安装),同时默认已经安装好了flask项目所依赖的python包

本文所涉及的工具版本如下:
python 3.7.2
gunicorn 20.1.0
nginx 1.18.0

部署流程

1、建立python的虚拟环境

1)查看python安装路径
在这里插入图片描述
2)切换路径到python的安装路径
在这里插入图片描述
3)安装python的虚拟环境包
在这里插入图片描述
4)创建虚拟环境
在这里插入图片描述
5)切换到虚拟环境的路径并激活环境
在这里插入图片描述

2、安装gunicorn

直接在虚拟环境的情况下切换到项目路径安装gunicorn

pip3 install gunicorn

在这里可以使用gunicorn打开flask项目,代码如下:

gunicorn -w 2 -b :5000 run:app

各项参数解释参考链接:https://xugaoxiang.com/2020/07/21/flask-12-deployment/

但是可能会出现问题,可以采用一下方法解决,但是我至今不知道具体原因,如果大家知道,希望不吝赐教!!

gunicorn -w 2 -b :5000 run:app --preload

3、配置nginx文件

nginx的重要性我就不说了,网上一搜一大堆,直接上如何操作哈哈哈
如何查询有效的ngin配置文件,可参考本人的博客:https://blog.csdn.net/LJ1120142576/article/details/121205308?spm=1001.2014.3001.5501
找到nginx配置文件的地址进行修改,相关代码如下:
1)修改nginx.conf文件

cd /etc/nginx
vim nginx.conf

在这里插入图片描述
2)修改default文件

cd /etc/nginx
ls
cd sites-available
vim default

在这里插入图片描述
##马赛克的地方是服务器的地址
3)验证修改

/usr/sbin/nginx -t

若出现一下字句则修改成功
在这里插入图片描述

4、配置gunicorn.conf文件

切换回项目的路径,配置gunicorn.conf,如果有多个flask项目,就分别建立一个.conf文件,如:face.conf和tongue.conf

vim gunicorn_face.conf

配置文件具体内容如下:
在这里插入图片描述

5、启动gunicorn服务

以上配置完成后,便可以在每个项目路径下运行flask项目了,代码如下:

nohup gunicorn -c gunicorn_tongue.conf label:app --preload &

然后在网页中输入:服务器ip:端口号,就完成了flask项目的部署

猜你喜欢

转载自blog.csdn.net/LJ1120142576/article/details/121212162
今日推荐