flask中gunicorn的使用

Posted zongfa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flask中gunicorn的使用相关的知识,希望对你有一定的参考价值。

最近用到模型用到flask给接口,需要部署,模型实验室的部署流程中看到要用gunicorn来部署flask服务。为什么要用gunicorn呢,简单点就是为了并发。

1、模块安装

pip install flask
pip install gunicorn

2、用flask写一个简单的web服务

# main.py

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

3、启动

  我们知道直接运行main.py函数就可以启动flask服务,但是我们这里要用gunicorn,也很简单

gunicorn main:app
  • main是flask的启动python文件,我们这是main.py,
  • app则是flask应用程序实例,我们mian.py里实例名为app
这样运行的话, gunicorn 默认作为一个监听 127.0.0.1:8000 的web server,可以在本机通过: http://127.0.0.1:8000 访问。
技术图片

技术图片

 如果要通过网络访问,则需要绑定不同的地址(也可以同时设置监听端口),设置0.0.0.0可以监听到所有ip的请求:

gunicorn -b 0.0.0.0:8080 main:app

在多核服务器上,为了支持更多的并发访问并充分利用资源,可以使用更多的 gunicorn 进程:

gunicorn -w 4 -b 0.0.0.0:8080 main:app
  • -b 表示 gunicorn 开发的访问地址 
  • -w 表示工作进程数

 

 

以上是关于flask中gunicorn的使用的主要内容,如果未能解决你的问题,请参考以下文章

Flask 学习-91.使用 gunicorn 部署 flask

flask中gunicorn的使用

python nginx+gunicorn+flask+supervisor

使用 Gunicorn + Nginx + Flask 有啥好处? [复制]

gunicorn + Flask架构中使用多进程全局锁

Kubernetes 和 Gunicorn 上的 Flask 应用程序扩展