使用gunicorn将flask应用部署到生产环境

应用容器

main.py

from flask import Flask	
app = Flask(__name__)
@app.route('/')
def index():
    return "Hello World!"

安装 gunicorn

[Gunicorn](Gunicorn - Python WSGI HTTP Server for UNIX)

(venv) pip install gunicorn 
(venv) gunicorn main:app 
(venv) gunicorn main:app -b 127.0.0.1:8000 #运行在80端口
(venv) gunicorn main:app -p main.pid -b 0.0.0.0:8000 -D #运行在8000端口 同时后台执行 将进程号写入指 main.pid文件
  • -c CONFIG, --config=CONFIG-形式指定一个配置文件 $(PATH),file:$(PATH)或python:$(MODULE_NAME)。

  • -b BIND, --bind=BIND - 指定要绑定的服务器套接字。服务器插槽可以是任意的$(HOST),$(HOST):$(PORT)或unix:$(PATH)。IP是有效的$(HOST)。

  • -w WORKERS, --workers=WORKERS - 工作进程的数量。这个数字通常应该在服务器中每个核心2-4个工作者之间。有关调整此参数的建议,请查看常见问题解答。

  • -k WORKERCLASS, --worker-class=WORKERCLASS - 要运行的工作进程的类型。您肯定希望阅读生产页面以了解此参数的含义。您可以设置这$(NAME) 其中$(NAME)的一个sync,eventlet,gevent, tornado,gthread,gaiohttp(不推荐)。 sync是默认值。