Python:使用gevent,是否需要前端服务器/反向代理?
问题描述:
在一个相关的问题中,我试图弄清楚一个Python Web应用程序如何“连接在一起”从头到尾,并且我一直在假设Apache/lighttpd/nginx是WSGI模块所必需的。 (让我们假设我使用CDN提供静态内容。)Python:使用gevent,是否需要前端服务器/反向代理?
是否可以跳过WSGI并使用gevent库直接为客户端服务?
答
由于其功能/安全性有限,您可能不希望为非玩具应用程序。 Nginx虽然是一个完美的伴侣。
作者gevent recommends using gunicorn。
跳过wsgi(而不是第二个http服务器)没有多大意义。这只是程序之间相互交互的惯例。
Gevent **包含两个HTTP服务器** - gevent.wsgi.WSGIServer和gevent.pywsgi.WSGIServer。这些是可用于服务WSGI应用程序的HTTP服务器。虽然它不是最好的部署选项,但它们中的任何一个都可以在没有任何前端HTTP服务器/反向代理的情况下使用。 – 2012-12-14 00:55:47
作为Alex K评论的附录,请注意,在1.0 gevent中只有pywsgi服务器,而旧的wsgi已经不存在了(但现在为了兼容性而将其替换为pywsgi服务器)。 (这似乎反映了底层架构的变化,而不是任何真正的功能删除。) – 2014-03-13 20:57:43