使用 GeventWSGI 和 Nginx 在生产中部署 Flask

Deploy flask in production with GeventWSGI and Nginx

我实际上有一个休息 api 写在 python 与 flask 和 flaskrestful 扩展。 我使用 gevent WSGI

def runserver():
api.debug = True
http_server = WSGIServer(('', 5000), api)
http_server.start()

在我的机器上一切正常。 我想在 linux 虚拟机上投入生产,在互联网上我搜索了几个小时,我没有选择 mod_wsgi 因为 gevent 不能正常工作,所以我更喜欢使用 nginx。

在互联网上我看到使用 uWSGI 托管的 flask 应用程序,我的回答是我需要使用 uWSGI 吗? 即使我在我的烧瓶应用程序中使用 geventWSGI? 如何处理这个? 如果我不需要 uWSGI,我只需要配置 nginx 站点以将请求正确传递到我的烧瓶应用程序? 我是这一切的新手,所以我有点困惑。

提前致谢

你可以 运行 Gevent 模式下的 Uwsgi http://uwsgi-docs.readthedocs.org/en/latest/Gevent.html 然后通过 nginx 将所有 flask 请求路由到它。

       server {
          listen 80;
          server_name customersite1.com;
          access_log /var/log/customersite1/access_log;
          location / {
          root /var/www/customersite1;
          uwsgi_pass 127.0.0.1:3031;
          include uwsgi_params;
          }

有关详细信息,请参阅 http://uwsgi-docs.readthedocs.org/en/latest/Nginx.html