如何使用 PM2 自动部署 Node.js 应用?

阅读时长 3 分钟读完

在 Web 应用中,后端部分的 Node.js 应用在发布上线时,往往需要进行一系列的操作。例如在代码仓库中拉取最新代码,重新安装 npm 包等等,这种操作除了浪费开发时间外,也可能出现人为失误。为了方便发布和管理 Node.js 应用程序,开发者们会使用进程管理工具 PM2。PM2 不仅可以管理应用程序进程,还能自动化部署应用到服务器。

什么是 PM2?

PM2 是一个基于 Node.js 的进程管理工具,可以帮助您管理和监控应用程序。它具有重载、负载均衡、自动缓存等功能,因此它是一个强大的工具,适用于从开发到生产的所有环境。

与其他进程管理工具不同,PM2 具有可靠性和健壮性,它可以用于PM2可以使用CLI来管理应用,另外它还有一个 Web API 和一款非常酷的 GUI 管理工具 PM2 Plus。

安装 PM2

首先需要在系统上安装 PM2,可以通过以下命令进行安装:

在项目中使用 PM2

接下来,在您的项目目录下使用 PM2,以便在本地启动和管理您的应用程序。您可以使用以下命令在后台启动应用程序:

这意味着您的应用程序将在后台运行,并且 PM2 将管理和监控该进程。

使用 PM2 自动化部署 Node.js 应用

使用 PM2 自动化部署 Node.js 应用程序的主要好处是:它可以自动地更新应用程序,而不需要您手动执行脚本或者命令。

首先,您需要一个 Git 仓库,以便在 GitHub 上或者您的私人 Git 仓库中存储您的代码。

接下来,您需要一个部署脚本。我们将使用 bash 脚本编写自动化部署,通常是 deploy.sh 文件。

在您的 deploy.sh 文件中添加以下内容:

该脚本中有几个步骤:

  1. cd 到你的项目目录。
  2. git pull 从 Git 仓库中拉取最新的代码。
  3. npm install 重新安装依赖的 Node.js 模块。
  4. pm2 restart 重启 Node.js 应用程序。

当 deploy.sh 文件准备就绪时,您需要配置一个 webhooks 连接,以自动触发部署脚本。例如,在 GitHub 上,您可以在“部署密钥”中添加一个 webhook 端点。

部署密钥允许您在代码库中的特定事件(例如 Git 提交或推送)时向 URL 发送 HTTP POST 请求。在这种情况下,您可以将请求指向您的服务器的 deploy.sh 脚本。

PM2 + GitHub 部署示例

在 GitHub 上部署 Node.js 应用程序的典型工作流程大概如下:

  1. 在 GitHub 上克隆您的应用程序代码库(也可以选择您的 Git 服务器)。
  2. 在本地系统上安装 PM2。
  3. 编写 deploy.sh 脚本(执行拉取代码、安装依赖项和重启应用程序)。
  4. 在 GitHub 上创建 webhooks 连接,指向服务器上的部署脚本。
  5. 启用自动化部署 webhook,以便在 Git 事件发生时自动执行部署脚本。

结论

PM2 是管理和监控 Node.js 应用程序的一个非常有用的工具。PM2 强大的功能不仅限于管理进程,还提供了自动化构建、部署和监控应用程序的功能。您可以找到与 PM2 相关的大量资源。通过使用 PM2 帮助您快速构建和发布您的应用程序,让您能够专注于编写高质量的代码而不是人为操作,大大提高开发效率,减少了我们繁重的工作,提高产品迭代效率。

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

纠错
反馈