2011-10-23 43 views
5

在关于HTTP流式传输的Railscast中,一些评论者已经证实可以使用Apache + Passenger进行http流式传输,但奇怪的是,我无法通过Google找到任何指令。Rails 3.1.1使用Apache + Passenger的HTTP流式传输

另外,Rails文档没有提供任何说明。所有的详细说明都涉及到Unicorn。我不能是唯一一个想通过Apache和Passenger进行http流式传输的人。请帮助。

回答

1

HTTP流更正确地被称为Chunked Transfer Encoding

这是我所知道的(可能还有更多的要求)的东西:

的Ruby 1.9.x的

流需要Ruby 1.9

兼容的中间件

的线程特性

您拥有的任何中间件都不得修改HTTP响应

乘客

的passenger_buffer_response选项必须被关闭

客户端支持

客户端必须做广告使用HTTP 1.1或发送TE请求头。

我依稀记得在某处需要读取nginx,但是我找不到任何地方的参考。

我希望有帮助。

+0

的PassengerBufferResponse选项在客运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>