PM2 如何开启多宿主机部署

阅读时长 4 分钟读完

前言

随着业务的增长以及访问量的上升,我们需要将服务部署在多台宿主机上,以提高可用性和性能。常见的技术方案有负载均衡、容器化和微服务等,而在这些方案中,PM2 前端进程管理工具是一个很好的选择。它可以帮助我们轻松管理 Node.js 的进程以及在多台宿主机上运行 Node.js 服务。本文将介绍如何使用 PM2 实现多宿主机部署。

步骤

1. 安装 PM2

执行以下命令安装 PM2:

安装完成后,可以在命令行中执行下面的命令测试是否安装成功:

如果输出了 PM2 的帮助信息,则说明 PM2 安装成功。

2. 配置 SSH

将需要部署的宿主机的公钥添加到本机的 authorized_keys 文件中,以实现在本机远程执行宿主机上的 PM2 命令。假设需要部署的宿主机 IP 地址为 192.168.1.100,公钥文件为 id_rsa.pub,则可以执行以下命令:

其中,<username> 是宿主机的用户名。

3. 配置 PM2

在需要部署的项目根目录下创建一个名为 ecosystem.config.js 的文件,并添加以下配置:

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

其中,name 是应用的名称,script 是应用的入口文件,instancesexec_mode 是在多个宿主机上运行 Node.js 应用程序的配置,env 是配置的环境变量,user 是宿主机的用户名,host 是需要部署的宿主机地址,ref 是 git 仓库中要拉取的分支,默认为 origin/masterrepo 是 git 仓库的地址,path 是应用程序的部署路径,post-deploy 是在部署完成后需要执行的脚本。

需要注意的是,在 deploy.production.host 数组中添加需要部署的宿主机地址,PM2 将会在部署时自动在这些宿主机上部署应用程序。

4. 部署应用

执行以下命令部署应用程序:

以上命令将会在配置的宿主机上部署应用程序,并在 path 目录下创建一个名为 shared 的目录,其中包含了日志、进程号和应用程序的配置文件等信息。

5. 重启应用

如果需要重启应用,可以执行以下命令:

总结

通过以上步骤,可以使用 PM2 在多个宿主机上部署 Node.js 应用程序。PM2 提供了一个简单而强大的方法来管理 Node.js 进程,并且能够管理多台宿主机上的进程。这在提高应用程序的可用性和性能方面非常有用。

示例代码:https://github.com/pd4d10/pm2-multi-host-deploy

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

纠错
反馈