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

时间:2017-07-22 12:18:52

标签: node.js express nginx pm2

我是Node.js的新手。我已经构建了我的第一个Node.js服务器。我正在做一些研究来提高生产中节点js服务器的性能。所以我了解了NGINX和Process Manager(PM2)。

NGINX:

  1. 它可以对传入的请求进行负载均衡。
  2. 它可以作为我们应用程序的反向代理。
  3. PM2:

    1. 虽然它有内置的负载均衡器,但它可以将我们的应用程序划分为集群。
    2. 我们可以在崩溃时监控并重启应用程序。
    3. 我们可以同时用于生产吗?

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

      使用NGINX比PM2有什么优势?

      如果我使用NGINX使用负载均衡器并使用PM2进行聚类,它是否会比仅使用一个(NGINX或PM2)提供更好的性能?

1 个答案:

答案 0 :(得分:2)

这是一个很大的话题,但是让我帮忙并给你一些指示。

Nginx不仅仅是一个反向代理。它可以提供static contentcan compress the response content,可以在同一个VM上的不同端口上运行多个应用程序等等。

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

现在回答你的问题

  

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

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

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

以下是good article,以防您需要有关如何设置的代码帮助