在同一台机器上运行的多个唯一的nodejs Web服务器



我在一台机器上运行了多个网络服务器,目前,为了选择要服务的网站,您必须切换要连接的端口(域:8000,域:8001(,但是我真的不喜欢这个解决方案。我的目标是能够通过域/进程 1、域/进程 2 进行连接,但问题是 dns 总是会连接到域:80,然后将路由传递给快递(im 用于服务器的内容(

我知道我可以使用表达式来控制使用什么代码运行

app.get('/process1', (req, res)=>{
process1.getRequest(req, res);
next();
});
app.get('/process2', (req, res)=>{
process2.getRequest(req, res);
next();
});

但是,这要求我的所有进程都在 nodejs 的单个实例中运行。我希望不必修改我当前的任何 Web 服务器,只需创建一个将在端口 80 上运行的新进程,并根据路由将流量重定向到不同的本地端口。

我已经看到了这个问题,但是他们有几个域,而我只有一个域。 我还读了一些关于反向代理/nginx的信息,如果可能的话,我很想留在nodejs中。是否可以在节点中创建自己的反向代理?

您可以拥有单个域,但仍使用像nginx这样的反向代理。

https://medium.com/@samanbaboli/how-to-load-balancing-nodejs-apps-using-nginx-a3b4ceb7c782 看看这篇文章。

Ps:你不需要付费就可以使用nginx。 https://www.nginx.com/resources/wiki/

最新更新