Comet with uwsgi和nginx,如何关闭输出缓冲区?

Pet*_*mit 6 nginx uwsgi buffer

如何防止 Nginx 缓冲我的 uwsgi 应用程序的输出?对于我的彗星式应用程序,我使用的是长轮询,并且请求现在已缓冲。

我试图减小缓冲区的大小,但不允许将uwsgi_buffer_size和设为uwsgi_buffers0。也uwsgi_max_temp_file_size不起作用(尽管手册建议这样做)。

我怎样才能做到这一点?

Pet*_*mit 14

直到几分钟前,这是不可能的。nginx 将始终缓冲所有 uwsgi 和 scgi 响应,并且没有配置会改变它。

我已经为 nginx 提交了一个补丁(它被接受了),从下一个版本开始,有两种方法可以禁用 uwsgi 请求的缓冲:

  • 放入uwsgi_buffering offnginx配置
  • X-Accel-Buffering响应中发送“否”标头

uwsgi 从不缓冲响应,因此在此端不需要配置。