2011-06-12 17 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服務器)沒有多大意義。這只是程序之間相互交互的慣例。

相關問題