为什么express.js应用程序几乎总是位于nginx或其他Web服务器后面?

mic*_*vka 6 nginx node.js express

我看过大量的示例并阅读了大量有关 Nodejs Express 应用程序部署的文章。几乎总是在 Express 中实现所有逻辑(包括提供静态文件)之后,下一步就是忘记所有关于 Node.js 有多快以及它在所有并发请求基准测试中有多惊人的说法。当你不再记得为什么要学习这项改变世界的令人惊叹的新技术以及我们如何看待 Web 应用程序时,你可以安装旧的 nginx 来作为你的 Express 应用程序的入口。

不要误会我的意思,我了解 nginx 的所有功能,并且在我的日子里使用 nginx 部署了大量的 PHP 应用程序。但简单地说,为什么?为什么不让 pm2 平衡我的应用程序,例如,在我的 VPS 的所有核心上运行它,并让 Node.js 原生集群支持处理负载平衡?

显然,我谈论的是使用单台机器运行应用程序的情况,而不是将其部署到多个 VPS。那么某种类型的负载均衡器确实有意义。

感谢任何能够解释使用网络服务器将流量转发到另一个网络服务器的原因的人。

小智 0

您可以使用 nginx 服务器代替 Nodejs 来提供应用程序的静态内容。由于 nginx 比 Nodejs 更擅长提供 html、css、js 和图像文件等静态内容。另一件事是,如果任何节点服务崩溃,您可以使用 nginx 显示正确的错误页面。