Tag: 多域

我应该如何在同一个系统上组织多个Express服务器?

我正在使用一台服务器来托pipe多个分布在多个域中的Node.js Web应用程序。 我目前的做法是为不同端口上的每个应用运行一个Express服务器,并运行一个基本服务器,将请求简单地路由(redirect)到正确的端口/ Express服务器。 这可以工作,但这意味着我的基本服务器正在路由每个HTTP请求(并通过手动redirect),并且我的用户将我的应用程序视为托pipe在[hostname.com]:8000。 经过一番研究,我发现我可以使用http-proxy来满足我的路由需求,但是我仍然想知道在同一个系统上运行多个Express服务器是否是最佳做法。 以下是我打算如何做的计划: 每个Web应用程序都有自己的文件夹,具有完整的Express文件夹结构(app.js,路线,视图等)应用程序将按域进行分组,因此示例文件夹结构将是: hostname.com/ app.js routes/ views/ … app1/ app1.js routes/ views/ … app2 … hostname2.com/ app.js routes/ views/ … 我将不得不分别运行每个app.js节点(或永远 ,我目前正在使用),每个人将不得不在内部使用不同的端口,跨应用程序redirect指向端口的目标应用 所以,这是我目前的计划。 它有什么问题,我应该尽量避免哪些缺陷? 最重要的是,这个问题是否存在一个解决scheme – 在Node.js / Express的同一个系统上托pipe多个Web应用的问题? 编辑:我打算最终使用WebSockets和HTTPS,而我的设置可以支持的带宽量对我来说并不重要 – 这是一个开发服务器(至less现在)。 感谢David Ellis提出的WebSockets问题。 第二次编辑:感谢EhevuTov和David Ellis的回答,两者都有很大的帮助。 我仍然在为我的应用程序的整体结构定居,看起来这个问题是由这个StackOverflow问题详细解决 第三编辑:自从发布这个问题以来,我已经有了一些方法(尽pipe我还有很长的路要走)。 看看我的GitHub仓库中的这个文件 ,它利用了我从这个问题的答案中学到的东西!