PM2 部署 Node.js 应用到多台机器中

阅读时长 5 分钟读完

介绍

PM2 是一个 Node.js 应用程序的进程管理器,它可以帮助你轻松地管理多个 Node.js 应用,包括启动、重启、停止、监控等操作。同时,PM2 还支持多台机器的部署,可以将你的 Node.js 应用部署到多台机器中,并通过负载均衡来实现高可用性。

本文将介绍如何使用 PM2 将 Node.js 应用部署到多台机器中,并通过示例代码来演示具体的操作步骤。

准备工作

在开始之前,你需要准备以下工作:

  1. 安装 Node.js 和 PM2;
  2. 配置 SSH 登录多台机器,并确保可以通过 SSH 登录到这些机器。

部署流程

步骤一:在本地机器上创建一个 Node.js 应用

首先,在本地机器上创建一个 Node.js 应用,可以是一个简单的“Hello World”应用。在这个应用中,我们需要添加一些代码来监听端口,并输出一些信息,以便我们能够在后续的步骤中验证应用是否部署成功。

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

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

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

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

将上述代码保存为 app.js 文件。

步骤二:在本地机器上使用 PM2 启动应用

接下来,使用 PM2 启动应用,并通过 PM2 的监控功能来验证应用是否可以正常访问。

在 PM2 的监控界面中,可以看到应用的进程信息以及运行状态。此时,我们可以在浏览器中访问 http://localhost:3000,应该可以看到“Hello World”输出。

步骤三:在远程机器上创建一个 Node.js 应用

接下来,在远程机器上创建一个 Node.js 应用,可以是与本地机器上创建的应用相同的应用。在这个应用中,我们同样需要添加一些代码来监听端口,并输出一些信息。

将上述代码保存为 app.js 文件。

步骤四:在本地机器上使用 PM2 部署应用到远程机器

在本地机器上使用 PM2 部署应用到远程机器,需要使用 pm2 deploy 命令。在使用该命令之前,需要先配置 PM2 的部署配置文件 ecosystem.config.js

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

上述配置文件中,apps 属性定义了要启动的应用程序的信息,包括应用名称、启动脚本、实例数量等。deploy 属性定义了要部署的服务器的信息,包括登录用户名、服务器地址、代码仓库地址、部署路径等。其中,production 表示部署环境的名称,可以根据实际情况进行修改。

在配置文件中,post-deploy 属性定义了在部署完成后需要执行的命令,包括安装依赖和重启应用程序等。在上述配置中,我们使用 npm install 命令安装依赖,并通过 pm2 reload 命令重启应用程序。

完成配置文件后,使用 pm2 deploy 命令来启动部署过程。

在部署过程中,PM2 会将代码仓库中的代码 clone 到远程服务器中,并执行 npm install 安装依赖。如果部署成功,可以在远程机器上使用 pm2 list 命令来查看应用程序的状态。

步骤五:验证应用是否可以正常访问

在完成部署后,我们需要验证应用是否可以正常访问。可以在浏览器中访问远程机器的 IP 地址和端口号,如果可以看到“Hello World”输出,则说明应用已经成功部署到了远程机器中。

总结

本文介绍了如何使用 PM2 将 Node.js 应用部署到多台机器中,并通过负载均衡来实现高可用性。在部署过程中,我们需要配置 PM2 的部署配置文件,并使用 pm2 deploy 命令来启动部署过程。通过本文的介绍和示例代码,相信读者可以轻松地完成 Node.js 应用的多台机器部署。

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

纠错
反馈