"right way" 在单个服务器上托管多个 NodeJS 域?

The "right way" to host multiple NodeJS domains on a single server?

我有一个 VPS 运行 的 Apache 并为许多 WordPress 站点提供服务。我还设法使用 MEAN 堆栈在同一个 VPS 帐户上获得了一个 NodeJS 服务器 运行ning。使用此设置一切正常。

我决定向同一台服务器添加第二个 NodeJS/MEAN 应用程序,运行在一个单独的端口上,一切运行良好 - 除了我注意到对页面加载的重大影响一旦我获得第三台服务器 运行ning.

,所有站点的性能

我在 SO 上找到 this question and this question,但这些都没有解决性能问题。所以我的问题是:

是否 possible/practical 运行 两个 separate/unique 域在同一个 NodeJS 服务器应用程序上? 或者这会产生比它解决了吗? (注意:我不是指同一台机器,我指的是同一个NodeJS实例)

如果没有,我怎样才能提高性能?升级我的 VPS 是唯一的选择吗?

所以您确实可以 运行 在同一个 port/process 上使用多个应用程序。如果需要按域分隔,可以使用 express-vhost 模块来完成。您还可以使用 cluster 模块来 运行 共享资源的进程池(尽管它们最终是相同的 'app',您可以将其与 vhost 方法结合起来以获得一个池的流程服务于多个领域。

也就是说,我认为您实际上不会获得想要的结果。与大多数(例如 JVM)相比,nodejs 进程的开销非常小;成本主要来自您的自定义代码所做的任何事情。我认为更有可能发生的是,无论您为 VPS 选择的任何大小的服务器都不足以 运行 您扔给它的所有东西,或者您编写的节点应用程序正在占用事件循环通过漫长的 运行ning 进程。也可能是 Apache 是猪。你需要做更多的诊断才能找到它的根源。