在一个已经运行 Apache 的服务器上,如果仍然想使用 80/443 端口来使用 Nodejs 的服务器,该怎么配置呢?一个方法就是使用 Apache 中的代理。
先安装必要的模块:
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_balancer
sudo a2enmod lbmethod_byrequests
然后在 Apache 中配置(假设 nodejs 监听 3000 端口):
ProxyRequests on
ProxyPass /nodejs/ http://localhost:3000/
这样,当访问 http://mysite.com/nodejs/ 时,就会实际使用 nodejs 服务器。注意,url 最后的 / 不能省略,因为访问的是根目录。