簡體   English   中英

用gevent運行web應用程序

[英]run web app with gevent

我想嘗試使用gevent作為Web服務器和應用程序框架。 我沒有看到任何方法“重新啟動”服務器或更新應用程序代碼而不殺死並再次啟動整個python應用程序。

這是怎么做的? 也許這只是我理解apache方式的另一種范式的問題。

此外,作為一個半相關的問題,通過gevent運行Web服務器和站點/服務本身甚至是個好主意。 我已經看到其他實現使用gunicorn服務器和gevent應用程序,但從我看到的基准測試,gevent遠遠超過gunicorn作為服務器在擴展時。

Gunicorn有3名gevent工人:

  • -k gevent(使用gunicorn的HTTP解析器)
  • -k gevent_pywsgi(使用gevent.pywsgi模塊)
  • -k gevent_wsgi(使用gevent.wsgi模塊)

gevent.wsgi是一個基於libevent的快速HTTP服務器。

gevent.pywsgi是用Python實現的WSGI服務器。

gevent.pywsgi存在的原因是libevent-http有一些限制 ,例如不支持keep-alive,streaming,ssl和websockets。

請注意, gevent的新alpha版本(1.0a3)使用libev ,並且不包含基於libevent-http的WSGI服務器。 目前,gevent.wsgi是gevent.pywsgi的別名。

gevent中的服務器類沒有與進程管理,重新啟動,重新加載等相關的任何功能。 但這些功能對於部署是必要的。 Gunicorn為gevent的WSGI服務器提供了這個功能。 用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM