2011-04-19 282 views
1

有沒有辦法編譯nginx來處理反向代理websockets請求?我在Node.JS中構建了一個實時應用程序,並且需要一個Web服務器。我讀過的所有內容都說Nginx不能反向代理websockets請求,所以我對如何處理這個問題有些困惑。Nginx反向代理websocket

我在想剛剛實現在節點的所有服務器的邏輯,但也存在一些問題,這種方法

1)PHP - 我需要一種方法來服務的PHP文件 2)靜態文件 - 我真的很喜歡對於靜態文件,nginx非常快速。雖然有一些模塊,所以這個問題並不是很大。 3)當我需要更新我的Node應用程序時,我希望能夠與主服務器分開重啓該部分。另外,如果由於某種原因Node應用程序崩潰,我不希望整個Web服務器崩潰!

+1

只需使用node.js負載平衡器並在其後面有一個節點&nginx服務器。 – Raynos 2011-04-19 22:38:29

回答

1

最簡單的解決方案是在nginx中爲多個子域設置虛擬主機,並在單獨的服務上運行每個服務。這樣您就不必擔心在同一個端口上區分來自標準http請求的websockets請求。

另外,您可以使用PHP-FPM在nginx後面運行php,但這對於工作是一個相當大的挑戰,因此Apache可能是更好的選擇。

+0

好的,謝謝你的輸入,我想這是我會做的 – MichaelMackus 2011-04-27 21:36:10