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>