Flask可以单独在Gunicorn上运行吗?

时间:2015-09-17 09:03:05

标签: python flask reverse-proxy gunicorn

我目前正在使用Flask和Gunicorn开发HTTP Rest API服务器。由于各种原因,不可能在Gunicorn面前放置反向代理服务器。我没有任何静态媒体,所有网址都由Flask Framework中的@app.route模式提供。 Flask可以单独在Gunicorn上运行吗?

1 个答案:

答案 0 :(得分:5)

可能,但这是一个非常糟糕的主意。没有为缓慢客户做请求和响应缓冲的代理,Gunicorn工作不正常。

没有缓冲,gunicorn工作人员必须等到客户端发送整个请求,然后必须等到客户端已经读取了整个响应。

如果在慢速网络上有客户端,这可能是一个严重的问题。

http://docs.gunicorn.org/en/latest/deploy.html?highlight=buffering

另见:http://blog.etianen.com/blog/2014/01/19/gunicorn-heroku-django/

  

因为Gunicorn拥有一个相对较小(2x CPU核心)的工作池,如果只能处理少量的并发请求。如果所有工作进程都等待网络流量,则整个服务器将无响应。对于外部世界,您的Web应用程序将不复存在。