我们可以同时使用NGINX和PM2进行node.js生产部署吗?

Ise*_*mar 5 nginx node.js express pm2

我是Node.js的新手。我已经建立了我的第一个Node.js服务器。我正在做一些研究,以提高生产中的节点js服务器的性能。因此,我了解了NGINX和流程管理器(PM2)。

NGINX:

  1. 它可以负载平衡传入的请求。
  2. 它可以充当我们应用程序的反向代理。

PM2:

  1. 尽管它具有内置的负载均衡器,但可以将我们的应用程序划分为群集。
  2. 崩溃时,我们可以监视并重新启动应用程序。

我们可以同时用于生产吗?

虽然PM2中有负载均衡器,但是我只能使用PM2吗?

使用NGINX而不是PM2有什么优势?

如果我使用NGINX的负载平衡器和PM2的群集,是否会比仅使用一个负载均衡器(NGINX或PM2)提供更好的性能?

Abh*_*avD 8

这是一个巨大的话题,但让我帮助您,并给您一些指导。

Nginx不仅仅是反向代理。它可以提供静态内容可以压缩响应内容,可以在同一VM的不同端口上运行多个应用程序,甚至更多。

PM2本质上可以通过在集群模式下运行服务并利用其所有核心来帮助您扩展服务的吞吐量。阅读此stackoverflow 答案以了解更多信息。

现在回答您的问题

我们可以同时用于生产吗?

是的,你应该。Nginx可以在端口80上运行。PM2可以在端口3000(或任何端口)上运行,然后可以在应用程序实例中管理流量。

单独使用gzip将对应用程序最终用户的性能产生巨大影响。

如果您需要有关如何设置的代码帮助,这是一篇很好的文章