flask高并发部署 flask+nginx+gunicorn

文章转载于: https://www.jianshu.com/p/386ecd6a94ef
方便自己学用。

注意:这里用flask和fastapi开发部署效果是一样的。

用过 Flask 框架的朋友都知道,Flask 自带的 wsgi 性能低下,不支持高并发。

只适合你开发调试的时候用,所以在线上一般都使用 Nginx + gunicorn 才能获得更强的性能和更高的安全性!

gunicorn 是一个 python Wsgi http server,只支持在 Unix 系统上运行,下面我们来熟悉一下以 gunicorn 的配置与使用。

1.gunicorn 的安装

注意 gunicorn 不能在 windows 环境下使用

pip install gunicorn

比如有以下一个 app 的 py 文件

from flask import Flask  
 
app = Flask(__name__)  
 
 @app.route('/')  
 def index():  
     return 'hello world!' 
 
if __name__ == '__main__':  
    app.run()   

那么我们在 flask 的项目的目录下如何使用 gunicorn 来启动呢?
命令如下:

gunicorn -w 4 -b 0.0.0.0:8000 app:app

其中:
第一个 app 指的是 app.py 文件;
第二个指的是第三行代码 flask 应用的名字。

2.gunicorn 的参数详解

通过 gunicorn -h 我们可以看到 gunicorn 有非常多的配置项,我将他们的参数配置项都列出来了,供大家参考:

-c CONFIG : CONFIG,配置文件的路径,通过配置文件启动;生产环境使用;
 
 -b ADDRESS : ADDRESS,ip加端口,绑定运行的主机;
 
 -w INT,  --workers INT:用于处理工作进程的数量,为正整数,默认为1-k STRTING, --worker-class STRTING:要使用的工作模式,默认为sync异步,可以下载eventlet和gevent并指定
 --threads INT:处理请求的工作线程数,使用指定数量的线程运行每个worker。为正整数,默认为1--worker-connections INT:最大客户端并发数量,默认情况下这个值为1000--backlog int:未决连接的最大数量,即等待服务的客户的数量。默认2048个,一般不修改;

-p FILE, --pid FILE:设置pid文件的文件名,如果不设置将不
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值