2013-11-26 99 views
3

是否有可能在同一個VPS上有多個PHP網站和Nodejs應用程序?同一個VPS上的PHP網站和Nodejs應用程序

我有一個CentOS VPS在主機虛擬主機上的根訪問,我在LAMP上使用虛擬主機託管多個webistes ..我使用端口80爲apache。

現在我想在同一個VPS上部署一個構建在mongoDB和Express框架上的nodejs應用程序..我已經安裝了節點和快車。

  1. 我需要知道,如果它是一個很好的做法來承載節點應用程序在同一個VPS ..?
  2. 什麼應該用於路由..我應該使用nginx作爲apache和nodejs的前端代理,還是我也可以使用apache將我的節點應用url路由到節點應用文件夾..?
+0

我會說這是更大的奧平的離子問題,但你可以使用nginx來實現你所要求的。我會質疑Apache是​​否絕對必要,並嘗試將nginx用作所有代理規則的輕量級處理程序。您可以將NodeJS服務器綁定到80以外的端口,並向其發送nginx代理請求。看看http://stackoverflow.com/questions/13999069/nginx-nodejs-php – aust

+0

@aust:嗯,我真的很喜歡從專家的意見:)它是我第一次部署nodejs應用程序所以需要非常仔細地做。 – casper123

回答

4
  1. 如果服務器具有低負荷這是確定結合Apache和Node.js的
  2. 您可以使用nginx的或Apache的mod_proxy做出轉發到您的Node.js應用 爲Apache
 
    <VirtualHost njapp1.domain.com>  
     ProxyRequests Off 
     ProxyPreserveHost On 

     ProxyPass   /   http://localhost:9000 
     ProxyPassReverse /   http://localhost:9000 
    </VirtualHost> 

爲nginx的

server{ 
name njapp1.domain.com; 
location/{ 
    proxy_pass  http://localhost:9000; 
    proxy_set_header X-Real-IP $remote_addr; 
} 
} 
+0

這很好,謝謝!我有一個小問題,雖然:websockets不工作。你知道我該如何做這項工作? – pmalbu

+0

在這裏你可以找到websockets的解釋:http://stackoverflow.com/questions/5009324/node-js-nginx-and-now – Nikola

相關問題