承载没有端口的Nodejs应用程序

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

例如: mydomain.net:3000/url_i_want : mydomain.net:3000/url_i_want

我怎样才能避免这一点。 还有像这样运行我的应用程序时,所有的用户都是相互连接的。 如果其中一个断开所有其他用户的话。 如果其中一个改变页面,其他所有页面都在改变。 是因为他们都在听同一个端口3000吗? 我search了一下,发现它可能与PM2Nginx 。 这是解决scheme吗?

无论何时加载URL而不指定端口号,浏览器默认为80,因为80是HTTP的默认端口号。

所以,如果你加载http://stackoverflow.com/questions ,浏览器“转换”为http://stackoverflow.com:80/questions

如果您不希望指定端口号来访问您的网站,您的应用程序应该在端口80上而不是3000上进行监听。

但是,不build议Node应用程序直接监听端口80(虽然他们可以)。

你可以做的是使用一个像nginx这样的前端代理,它接受到主机端口80的连接,然后把请求redirect到你的应用正在监听的localhost:3000

一次最好问一个问题。

至于你的第二个问题,除非你使用某种“远程同步”框架,否则这种行为是意外的。 我会build议为这个问题发布一个单独的问题,并提供更多的细节。