托管没有端口的Nodejs应用程序

时间:2016-12-22 11:43:04

标签: node.js reactjs express hosting

我有一个在端口3000上运行的nodejs应用程序。我想在Linux环境中托管它。所以我在其中安装了nodejs。它工作正常但我应该每次都指定端口。

示例:mydomain.net:3000/url_i_want

我该如何避免这种情况。而且当像这样运行我的应用程序时,所有用户都彼此联系。如果其中一个断开所有其他用户。如果其中一个更改页面,则所有其他页面都会更改页面。是因为他们都在监听同一个端口3000吗?我搜索并发现它可能与PM2Nginx相关。这是解决方案吗?

1 个答案:

答案 0 :(得分:5)

每当您在未指定端口号的情况下加载URL时,浏览器默认为80,因为80是HTTP的默认端口号。

因此,如果您加载http://stackoverflow.com/questions,浏览器会将其“转换”为http://stackoverflow.com:80/questions

如果您不想指定端口号来访问您的网站,您的应用应该在端口80上侦听,而不是3000.

但是,建议不要让Node应用程序直接侦听端口80(尽管它们非常好)。

您可以使用前端代理,例如nginx,它接受​​与主机端口80的连接,然后将请求重定向到您应用正在收听的localhost:3000。< / p>

最好一次提出一个问题。

至于你的第二个问题,除非你使用某种“远程同步”框架,否则这种行为是出乎意料的。我建议针对该问题发布一个单独的问题,并提供更多相关细节。