flask 生产环境部署

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

应用容器

main.py

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

安装 gunicorn

Gunicorn)

1
2
3
4
(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是默认值。