這幾天有一些服務後端用到 nodejs,但主要的網頁服務還是 apache 來處理,因此想說是否可以同時運行 nodejs 與 apache。
其實如果可以的話,使用 nginx 來做代理伺服器會更好(比 apache 處理的效能好,比較不會這麼限制 nodejs 速度)
由於我機器上面已經裝有LAMP的環境,並且運行部分服務,因此先使用 apache 來做代理伺服器堪用一下。
- 開啟 mod_proxy 及 mod_proxy_http
sudo a2enmod proxy
sudo a2enmod proxy_http
- 重新啟動 apache
sudo service apache2 restart - 編輯 /etc/apache2/sites-enabled/000-default.conf,nodejs 預設 port 為 3000
<VirtualHost *:80>
# reverse proxy
<Proxy *>Order deny,allow
Allow from all</Proxy>
<Location />ProxyPass http://localhost:3000/
ProxyPassReverse http://localhost:3000/</Location>
</VirtualHost>
- 重新載入設定
sudo service apache2 reload
這樣就可以針對特定 apache virtualhost 做 nodejs 的服務了!
Leave a Reply