Skip to content

[apache] 同時使用 apache 與 nodejs,反向代理 nodejs

Published: at 05:18 AM

這幾天有一些服務後端用到 nodejs,但主要的網頁服務還是 apache 來處理,因此想說是否可以同時運行 nodejs 與 apache。


其實如果可以的話,使用 nginx 來做代理伺服器會更好(比 apache 處理的效能好,比較不會這麼限制 nodejs 速度)

由於我機器上面已經裝有LAMP的環境,並且運行部分服務,因此先使用 apache 來做代理伺服器堪用一下。

  1. 開啟 modproxy 及 mod_proxy_http **_sudo a2enmod proxy** sudo a2enmod proxy_http

  2. 重新啟動 apache sudo service apache2 restart

  3. 編輯 /etc/apache2/sites-enabled/000-default.conf,nodejs 預設 port 為 3000

    <VirtualHost *:80>

    # reverse proxy <Proxy *>

    Order deny,allow Allow from all

    ProxyPass http://localhost:3000/ ProxyPassReverse http://localhost:3000/

  4. 重新載入設定 sudo service apache2 reload

這樣就可以針對特定 apache  virtualhost 做 nodejs 的服務了!