我有一个在端口3000上运行的nodejs应用程序。我想在Linux环境中托管它。所以我在其中安装了nodejs。它工作正常但我应该每次都指定端口。
示例:mydomain.net:3000/url_i_want
,
我该如何避免这种情况。而且当像这样运行我的应用程序时,所有用户都彼此联系。如果其中一个断开所有其他用户。如果其中一个更改页面,则所有其他页面都会更改页面。是因为他们都在监听同一个端口3000
吗?我搜索并发现它可能与PM2
和Nginx
相关。这是解决方案吗?
答案 0 :(得分:5)
每当您在未指定端口号的情况下加载URL时,浏览器默认为80,因为80是HTTP的默认端口号。
因此,如果您加载http://stackoverflow.com/questions
,浏览器会将其“转换”为http://stackoverflow.com:80/questions
。
如果您不想指定端口号来访问您的网站,您的应用应该在端口80上侦听,而不是3000.
但是,建议不要让Node应用程序直接侦听端口80(尽管它们非常好)。
您可以使用前端代理,例如nginx
,它接受与主机端口80的连接,然后将请求重定向到您应用正在收听的localhost:3000
。< / p>
最好一次提出一个问题。
至于你的第二个问题,除非你使用某种“远程同步”框架,否则这种行为是出乎意料的。我建议针对该问题发布一个单独的问题,并提供更多相关细节。