使用 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
我实际上有一个休息 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