Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在生产中运行gevent_Python_Gevent_Gunicorn - Fatal编程技术网

Python 如何在生产中运行gevent

Python 如何在生产中运行gevent,python,gevent,gunicorn,Python,Gevent,Gunicorn,我在Python应用程序(基于Django)中使用gevent。然而,我现在想知道如何在生产中运行它。我应该使用什么服务器?在开发过程中,我使用gevent.pywsgi,但是生产准备好了吗?我也听说过gunicorn,但我看到了一些关于它的好消息 注意:我需要SSL。确实是最好的选择。它的速度很快,是用纯python编写的(这使得它可以很容易地部署在托管服务上,如),并且它维护良好,可用于大量python web应用程序 默认情况下,Gunicorn使用同步工作类来服务请求,但只需将-k ge

我在Python应用程序(基于Django)中使用gevent。然而,我现在想知道如何在生产中运行它。我应该使用什么服务器?在开发过程中,我使用gevent.pywsgi,但是生产准备好了吗?我也听说过gunicorn,但我看到了一些关于它的好消息

注意:我需要SSL。

确实是最好的选择。它的速度很快,是用纯python编写的(这使得它可以很容易地部署在托管服务上,如),并且它维护良好,可用于大量python web应用程序

默认情况下,Gunicorn使用同步工作类来服务请求,但只需将
-k gevent
添加到run命令,就可以轻松地将其配置为使用gevent


请注意:您应该始终在NGINX、Varnish等代理之后运行gunicorn,因为这将允许gunicorn处理比其他代理多得多的请求,这是由于响应缓冲。

关于此基准测试的两点。1.)gunicorn测试使用默认的同步工作程序,而不是您希望使用的gevent工作程序。2.)在总结中,“如果有一件事可以清楚地说明这个基准是大多数Python Web服务器都提供了很好的性能,并且如果您觉得速度很慢,那么首先要看的就是您自己的应用程序。”参见类似问题的答案(),gevent的作者自己简单地说,“使用gunicorn。”我已经看到,如果我使用gevent,我需要禁用缓冲。它是否取消了Nginx的好处?在后端服务器上使用HTTP有什么意义?与FastCGI、SCGI和uwsgi不同,HTTP不是为前端到后端的通信而设计的,因此使用它有其局限性和问题。我相信在使用Heroku时,您不必担心使用像nginx这样的反向代理运行,因为路由网格可以处理它。@Flavien只有在您进行流媒体处理时,比如长轮询、comet等。