2012-05-28 309 views
1

我在我的本地機器上使用rails applicaton,它工作正常。但是我無法讓它在生產服務器上工作。Faye延遲工作

我使用瘦和nginx,因爲我知道nginx不支持websockets。有時我在日誌中看到一個錯誤:'[Faye :: RackAdapter]輸入必須是一個字符串或IO「。我閱讀論壇並禁用了faye中的websocket添加行」Faye.Transport.WebSocket.isUsable = function(_,c){ C(假)}; 「在菲-browser.js的端

我看到的螢火此篇請求:

[{ 」ID「: 」1「, 」信道「:」 /meta/handshake","successful":true,"version":"1.0","supportedConnectionTypes":["long-polling","cross-origin-long-polling","callback-polling","websocket」 ,「eventsource」,「in-process」],「clientId」:「3q84u8vsc0mtdehob5dweh5nw」,「advice」:{「reconnect」:「retry」,「interval」:0,「timeout」:45000}}]

和此:

[{ 「ID」: 「2」, 「的clientId」: 「3q84u8vsc0mtdehob5dweh5nw」, 「信道」: 「/元/訂閱」, 「成功」:真, 「訂閱」 : 「/隊列/聊天」},{ 「ID」: 「3」, 「的clientId」: 「3q84u8vsc0mtdehob5dweh5nw」, 「信道」: 「/間/連接」, 「成功」:真, 「建議」:{「重新連接「:」重試「,」間隔「:45000,」超時「:0}}]

現在faye實際工作,但需要約30-60秒來獲取請求和更新頁面。有減少檢查間隔的方法嗎?

我的nginx CONF:http://pastie.org/3982274[Faye::RackAdapter]輸入必須是字符串或IO

回答

0

問題解決了。我必須安裝HAproxy並將它放在nginx之前。

+0

當我想要做負載平衡時,需要HAproxy。如果我不想負載平衡怎麼辦?我使用rails和nginx運行一個小的mvp。單一服務器對我們來說已經足夠 – Magesh