如何用 PM2 部署带有 Nginx 反向代理的 Node.js 应用?

阅读时长 4 分钟读完

前端开发者都知道,Node.js 是一种非常强大而且流行的开发语言,它可以帮助开发者快速构建可靠的 web 应用程序。但是,在将您的应用程序部署到生产环境中时,确保应用程序高效、安全并且始终可用可能是一项挑战。在本文中,我们将介绍如何通过 PM2 和 Nginx 部署 Node.js 应用程序,以提高应用程序的性能、可靠性和安全性。

PM2 概述

PM2 是一个 Node.js 进程管理器,它可以帮助您管理 Node.js 的生产环境。PM2 具有许多功能,例如进程负载均衡、zero-downtime、自动缩放等。PM2 是一个开源软件,并且具有可靠性和灵活性,使其成为部署 Node.js 应用程序的不二之选。

,如果您尚未安装 PM2,请在命令行运行以下命令进行安装:

Nginx 概述

Nginx 是一个高性能、开源、可靠和轻量级的 Web 服务器,它可以用于反向代理、负载平衡和 HTTP 缓存。Nginx 可以与各种语言的 Web 应用程序一起使用,并支持 HTTPS 和 HTTP/2。Nginx 同样是开源软件,具有可靠性和灵活性,并且可以轻松地与 PM2 一起使用。

部署步骤

以下是使用 PM2 部署 Node.js 应用程序的步骤:

步骤一:启动您的 Node.js 应用程序并让其监控在 PM2 中

使用以下命令启动您的应用程序并使用 PM2 进行监控:

步骤二:配置 Nginx 反向代理

接下来,我们需要配置 Nginx 反向代理,将请求重定向到您的 Node.js 应用程序。在 Nginx 的配置文件中,添加以下配置:

-- -------------------- ---- -------
------ -
    ------ ---
    ----------- ---------------

    -------- - -
        ---------- ----------------------
        ------------------ ----
        ---------------- ------- --------------
        ---------------- ---------- ----------
        ---------------- ---- ------
        ------------------ --------------
    -
-

在这个配置中,我们将监听端口 80,并将所有请求重定向到您的 Node.js 应用程序,该应用程序运行在端口 3000 上。您需要将 yourdomain.com 替换为您自己的域名。

步骤三:重新加载 Nginx

接下来,使用以下命令重新加载 Nginx:

步骤四:设置 PM2 启动脚本并保存

让 PM2 在启动时启动您的应用程序。在终端中使用以下命令生成启动脚本:

此命令将为您生成一个启动脚本,您需要将其保存到 /etc/init.d/pm2-init.sh 文件中。

步骤五:保存您的 PM2 进程列表

最后,使用以下命令保存您的 PM2 进程列表:

这样,您的 Node.js 应用程序将自动重新启动,并通过 Nginx 反向代理在生产环境中运行。

示例代码

以下是一个简单的 Node.js 应用程序,它会在浏览器中显示"Hello World":

-- -------------------- ---- -------
----- ---- - ----------------

----- ------ - ----------------------- ---- -- -
  ------------------ ---------------- ---------------
  -------------- --------
---

------------------- -- -- -
  ------------------- ------- -- -------------------------
---

结论

通过本文,您了解了如何使用 PM2 和 Nginx 部署 Node.js 应用程序。使用该部署方案,您可以提高您的应用程序的可靠性、安全性和性能。希望这篇文章能够对您有所帮助。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/674960eaa1ce006354574b45

纠错
反馈