繁体   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