如何在端口80上运行sails.js应用程序?

时间:2014-01-31 14:38:28

标签: node.js apache mod-proxy sails.js

我必须将sails.js放在端口80中,但是apache已经在使用它了。如何将两个(sails.js和apache)放在同一个端口80上?我需要它,因为在我的公司中除了PORT 80之外所有端口都被阻止。(这是一个带有nodejs和socket.io(websockets)的实时应用程序,另一方面是一个php应用程序)。非常感谢

2 个答案:

答案 0 :(得分:5)

您必须在任何空闲端口(例如1337)上运行Sails,并将Apache与mod_proxy一起使用。确保它在Apache配置中加载,然后您的虚拟主机将是这样的:

<VirtualHost *:80>
    ServerName  www.youserver.com

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

有关详细信息,请参阅mod_proxy documentation

答案 1 :(得分:3)

将nginx放在sailsjs前面,转储apache,或者让apache在不同的端口上运行。

DigitalOcean有一个很好的教程,可以使用两个nodejs应用程序进行此操作..您可以找到它here

我还写了一篇关于它的博客文章here

我在我的服务器上执行此操作,因此我可以在同一台服务器上运行ghost blog和sailsjs。这就是我设置它的方式。

NGINX Proxies blog.gorelative.com -> localhost:2368
NGINX Proxies gorelative.com -> localhost:1337

只需调整教程以将一个域代理到localhost:1337用于sailsjs,并添加到其他主机中以正常托管它们。或者将其他主机代理到apache2,这可能是浪费资源而不理想。

AFAIK:通过更多的工作,您的主机甚至不需要在同一台服务器上。 nginx可以代理到另一台服务器,也可以执行负载均衡任务。