多个NodeJS应用程序监听文件夹中的相同端口

时间:2018-08-07 01:02:01

标签: javascript node.js apache webserver virtualhost

有没有办法在单个端口 (80) 中监听单个文件夹来运行多个nodejs应用程序?

我的意思是作为NodeJS应用程序的Web服务器。

我知道该选项在Apache中以及PHP中的应用程序中都存在。 我想用这种方式来做,因为我需要不断地将几个应用程序上传到我的服务器上。 例如:

我有一个名为 ServerFolder 的文件夹,我将在其中存储应用程序。

  

ServerFolder / app1 / index.js

     

ServerFolder / app2 / index.js

在我的路线中,我只想通过以下方式使用相应的文件夹应用程序访问我的域。

  

localhost / app1

     

localhost / app2

2 个答案:

答案 0 :(得分:0)

您可以,但是您将需要使用代理方法才能重定向到该文件夹​​。在节点中,我认为您可以使用Ngex或Apache对其进行代理。

https://technology.amis.nl/2018/03/19/node-express-application-to-proxy-http-requests-simply-forwarding-the-response-to-the-original-caller/

这里也快速阅读了代码。

答案 1 :(得分:0)

如果使用特定的框架,则有可能-例如,连接/表达请参见Running multiple Node (Express) apps on same port

如果没有,恐怕没有通用的方法可以做到。您将必须将所有应用程序作为一个应用程序运行-绑定端口80,并以某种方式将请求路由到每个单独的应用程序(基于前缀)。

不幸的是,对于TCP,无法避免多个应用程序可以同时在同一端口上侦听。