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

标签 node.js express nginx

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

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

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

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

最佳答案

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

关于node.js - 为什么express.js应用程序几乎总是位于nginx或其他Web服务器后面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56763873/

相关文章:

node.js - Docker-compose 启动容器两次,运行命令两次并且内容相同

javascript - 错误: ETIMEDOUT on NPM usage in Meteor

node.js - Node : close http. 即使服务器发送保持事件状态也得到响应

javascript - Nodejs express4 - 未定义的 session

javascript - Express.js 中的“router.get”与 'router.route.get'

javascript - 主体解析器 Node 模块返回 'deprecated' 消息

http - Nginx 服务器内容 gzip 压缩不起作用

node.js - "This site can’ t be reached"using Nginx as reverse proxy for Express Nodejs

javascript - 未捕获( promise 中)TypeError : Failed to fetch and Cors error

node.js - 在 Gatsby 中使用请求