2011-06-12 18 views
3

在一个相关的问题中,我试图弄清楚一个Python Web应用程序如何“连接在一起”从头到尾,并且我一直在假设Apache/lighttpd/nginx是WSGI模块所必需的。 (让我们假设我使用CDN提供静态内容。)Python:使用gevent,是否需要前端服务器/反向代理?

是否可以跳过WSGI并使用gevent库直接为客户端服务?

回答

1

gevent不包含预制的HTTP服务器,但可以使用gevent.server编写一个。不过,使用轻量级WSGI容器(如Paste Deploy)可能更容易。

+2

Gevent **包含两个HTTP服务器** - gevent.wsgi.WSGIServer和gevent.pywsgi.WSGIServer。这些是可用于服务WSGI应用程序的HTTP服务器。虽然它不是最好的部署选项,但它们中的任何一个都可以在没有任何前端HTTP服务器/反向代理的情况下使用。 – 2012-12-14 00:55:47

+0

作为Alex K评论的附录,请注意,在1.0 gevent中只有pywsgi服务器,而旧的wsgi已经不存在了(但现在为了兼容性而将其替换为pywsgi服务器)。 (这似乎反映了底层架构的变化,而不是任何真正的功能删除。) – 2014-03-13 20:57:43

0

由于其功能/安全性有限,您可能不希望为非玩具应用程序。 Nginx虽然是一个完美的伴侣。

作者gevent recommends using gunicorn

跳过wsgi(而不是第二个http服务器)没有多大意义。这只是程序之间相互交互的惯例。

相关问题