2013-07-04 181 views
0

我有一些關於node.js和socket.io的noob問題。這兩個人通常需要使用websockets進行服務器到瀏覽器的通信。一旦我的項目完成後,我是否必須將我的php文件上傳到我的apache服務器。現在我的問題是我也有上傳我的node_modules目錄到我的apache服務器?以及socket.io目錄?node.js socket.io apache服務器

回答

1

爲了運行你的node.js過程,你需要有能力在服務器上執行自己的應用程序。經典的虛擬服務器不允許使用這種功能。有特定的虛擬服務器託管node.js,檢查nodejitsu,heroku或任何其他。

您可以通過它自己運行node.js作爲web平臺,而不使用任何apache,這會讓您的生活更輕鬆。但是如果你仍然需要apache和PHP,那麼你需要考慮從apache到你的node.js進程的代理。由於代理WebSocket並不簡單,這仍然會非常棘手。

如果你有機會到Apache設置,則可以啓用HTTP/HTTPS代理,請閱讀本:http://ronenagranat.blogspot.co.uk/2011/02/apache2-reverse-proxy-for-nodejs.html
對於WebSockets的,沒有提供太多的數據,但這裏是可能的解決方案:http://blog.cafarelli.fr/post/2013/04/26/Backporting-Apache-support-for-websockets-reverse-proxy-(aka-getting-GateOne-to-work-behind-Apache)

雖然如果你有自己的服務器,並有能力選擇網絡平臺,我會建議看看nginx,因爲它支持WebSockets代理(可能需要模塊和nginx重新編譯)。