最近上线了洞见微信聚合平台需要部署,以前部署项目使用的uwsgi+nginx,听说gunicorn使用起来挺方便的,记录下部署过程。
生产环境不比开发环境,要适应性能强大的应用服务器和web服务器,在开发环境中,使用Flask自带的wsgi不能满足生产环境的需求,需要满足高性能的要求。这里不得不说,1核2g的阿里云服务器配置三个web项目,每天将近500的访问量不带卡的。不吹牛批了,开始正式记录。
0X01 Flask配置
其实Flask配置没有什么好说的,需要将debug改为True
0x02 Gunicorn配置
首先安装Gunicorn
1 | pip install gunicorn | 
Gunicorn配置也非常方便,这里记录下常用的一条配置命令
在app.py同级目录下运行
1 | gunicorn -b 0.0.0.0 -p 5000 -w 10 -k gevent -D app:app | 
 -b: 绑定IP
 -p: 绑定端口
 -w: worke数量
 -k: 运行模式
 -D: 开启守护进程
 app:app: 启动文件下的app实例
0x03 ngixn配置
nginx配置需要将gunicorn绑定的端口进行消息转发就可以了
1 | server { | 
2 |         listen xx; | 
3 |         server_name xxx; | 
4 |         location / { | 
5 | |
6 |                 proxy_pass http://127.0.0.1:5000; | 
7 |                 proxy_set_header Host $host; | 
8 |                 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | 
9 |                 proxy_set_header X-Real-IP $remote_addr; | 
10 |                 proxy_set_header REMOTE-HOST $remote_addr; | 
11 |                 proxy_set_header referer $http_referer; | 
12 |             } | 
13 |         } | 
14 | ` | 
同时记录下nginx的几条配置命令
1 | nginx -t //检查配置文件是否合法 | 
2 | nginx -s reload //重启nginx | 
```