gpt4 book ai didi

javascript - Node.js:在同一台服务器上运行多个应用程序

转载 作者:行者123 更新时间:2023-11-30 11:15:07 25 4
gpt4 key购买 nike

我想在同一台服务器上运行多个 Node.js (Express) 应用程序。我知道两种不同的方法:

  1. 使用反向代理将请求重定向到监听不同端口的应用程序。例如

    https://website.com/app1 --> https://localhost:1001
    https://website.com/app2 --> https://localhost:1002

  2. 使用 express 中间件在同一端口 ( Running multiple Node (Express) apps on same port ) 上运行应用程序:

app
.use('/app1', require('./app1/index').app)
.use('/app2', require('./app2/index').app)
.listen(8080);

这两种方式的优缺点是什么?

最佳答案

同时以 express 方式运行它们的最大缺点是您的两个应用程序将共享 Node 资源。一台服务器将处理这两个请求,因此它的所有资源(内存、CPU——尤其是因为它是单线程的)将被共享。这也意味着引入一个应用程序的任何安全问题现在都会影响两个应用程序。

从好的方面来说,如果您的物理服务器很小,您只有一组开销,即使该单 Node 进程在 2 个应用程序之间共享它的资源,您的物理服务器也只需要运行一个 Node 进程。

但最理想的情况是,每个应用都应该有自己的 Node 进程。它将关注点、安全性、包、资源分开。在部署方面,它允许您单独扩展它们,从而更容易调试。

基本上,除非您有充分的理由不这样做,否则您应该将它们分成 2 个 Node 应用程序。

关于javascript - Node.js:在同一台服务器上运行多个应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51933643/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com