将Apache2与Node.js进行集成

仅适用于AWSLinux和CentOS。(Ubuntu的设置方法不同。)

创建设置文件。

Alias /node /var/www/node

<Location /node/>
  ProxyPass http://localhost:3000/
  ProxyPassReverse http://localhost:3000/
  Order deny,allow
  Deny from all
  Allow from all
</Location>

启动节点。

$ node app.js

完成后重新启动Node服务器。

$ service httpd restart

用这个方式,可以通过网站的URL/node/来调用节点服务器。


然而,实际情况并不是很好吗?

无论如何,将使用Apache和Node的服务强行放入一个服务器可能是可行的,
但是,事件循环方式的Node和线程方式的Apache相互兼容性并不太好。
采用上述方式,只需要直接将请求转发到Node的内置服务器即可,这样也算可以,但如果可能的话,最好使用Docker等方法单独启动服务。

永久地运行节点 forever。

如果使用上述方法启动节点,节点服务器将在前台运行。
使用nohup可能会出现运行不正确的情况,所以可以使用forever。
要安装forever,请先转到根目录,然后执行以下命令。

$ npm install -g forever

接下来,在后台以守护程序的身份运行脚本。

$ forever start app.js

请参考帮助文档了解如何正确使用“永远”一词。

$ forever --help