我是Node.js的新手。我已经构建了我的第一个 Node.js 服务器。我正在做一些研究来提高节点js服务器在生产中的性能。所以我了解了NGINX和Process Manager(PM2(。
NGINX:
- 它可以对传入的请求进行负载平衡。
- 它可以充当我们应用程序的反向代理。
PM2:
- 它可以将我们的应用程序划分为集群,尽管它在内置的负载均衡器中。
- 我们可以在崩溃时监控并重新启动应用程序。
我们可以将两者用于生产吗?
虽然 PM2 中有负载均衡器,但我只能使用 PM2 吗?
使用NGINX相对于PM2的优势是什么?
如果我使用 NGINX 的负载均衡器和使用 PM2的集群,它会比只使用一个(NGINX 或 PM2(提供更好的性能吗?
这是一个很大的话题,但让我帮忙并给你一些指示。
Nginx不仅仅是一个反向代理。它可以提供静态内容,可以压缩响应内容,可以在同一 VM 上的不同端口上运行多个应用等等。
PM2 本质上是通过在集群模式下运行服务并利用机箱的所有核心来帮助您扩展服务的吞吐量。阅读此堆栈溢出答案以了解有关此内容的更多信息。
现在回答您的问题
我们可以将两者用于生产吗?
是的,你应该。Nginx可以在端口80上运行。PM2 可以在端口 3000(或任何端口(上运行,然后可以管理应用程序实例内的流量。
仅 gzip 就会对应用程序最终用户的性能产生巨大影响。
这是一篇好文章,如果您需要有关如何设置它的代码帮助