Rails 3.1.1在使用Apache+Passenger时如何进行HTTP流式传输

6
在关于HTTP流的Railscasts中,一些评论者确认可以使用Apache + Passenger进行http流媒体传输,但奇怪的是我在谷歌上找不到任何相关指导。此外,Rails文档也没有提供任何指导。所有详细的指导都是关于Unicorn的。我肯定不是唯一想要在Apache和Passenger上进行http流媒体传输的人。请帮忙给予指导。
2个回答

1

HTTP流媒体更正确地称为分块传输编码

以下是我所知道的要求(可能还有其他要求):

Ruby 1.9.x

流式传输需要Ruby 1.9的线程功能。

兼容的中间件

您使用的任何中间件都不能修改HTTP响应。

Passenger

必须关闭passenger_buffer_response选项。

客户端支持

客户端必须声明使用HTTP 1.1或发送TE请求头。

我模糊地记得在某个地方读到过需要nginx,但我找不到任何参考资料。

希望这可以帮助您。


乘客缓冲响应选项在Passenger 3.0.11中成为一个问题。http://www.modrails.com/documentation/Users%20guide%20Apache.html#PassengerBufferResponse - concept47

0

昨天我刚刚在Apache下设置了基于响应流的Passenger,一点问题都没有。这是我的httpd.conf虚拟主机配置:

<VirtualHost *:80>
  ServerName www.my.site.com
  DocumentRoot /var/rails/myapp/public    
  <Directory /var/rails/myapp/public>
     # This relaxes Apache security settings.
     AllowOverride all
     # MultiViews must be turned off.
     Options -MultiViews
     # Enable response streaming
     PassengerBufferResponse off
  </Directory>
</VirtualHost>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接