利用 PM2 进行 NodeJS 应用自动化部署的方法

前言

NodeJS 作为一门非常流行的语言,用于构建 Web 应用程序和服务端。以 NodeJS 为基础的 Web 应用程序通常都是需要部署到服务器上的,而手动部署显得非常麻烦和容易出错,这时候就需要一种自动化的部署方法。本文将介绍一种利用 PM2 进行 NodeJS 应用自动化部署的方法。

PM2 简介

PM2 是一个高级的 Node.js 进程管理器,可以在生产环境中管理和监控您的 Node.js 应用程序。使用 PM2 进行应用程序的进程调度,负载均衡和自动重启,甚至可以部署到多台服务器上。

PM2 具有以下特性:

  1. 内置负载平衡器(使用 Node.js 集群模块)。
  2. 支持 0 秒停机重载,方便迭代和 0 秒停机部署。
  3. 内置进程守护,保证进程随时可用。
  4. 支持常驻内存,保证应用程序随时能够响应请求。
  5. 内存监视,保证应用程序正常运行,如有异常及时通知管理员。

使用 PM2 进行 NodeJS 应用自动化部署的方法

第一步:安装 PM2

安装 PM2 很简单,只需要使用 npm 全局安装即可:

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

第二步:设置环境变量

在使用 PM2 部署应用之前,需要先设置好环境变量。在终端中执行以下命令:

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

如果需要永久设置环境变量,则需要在系统相关文件中设置,比如可以将其添加到 /etc/profile 中。

第三步:部署应用

在部署应用之前,需要将代码从本地上传到服务器上。这里以 Git 作为版本控制工具为例,先在服务器上创建一个文件夹用于存放代码,然后使用 Git 将代码从仓库中拉取到服务器上:

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

如果是第一次部署应用,则需要在 /path/to/app 目录下执行以下命令进行依赖安装:

--- -------

接下来,使用 PM2 部署应用:

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

这里的 /path/to/app/app.js 是应用的入口文件,--name myapp 是应用的名称,可以随便取一个便于记忆的名称。执行以上命令之后,应用将会在后台以 daemon 进程的方式运行。

第四步:配置 PM2

为了让 PM2 能够自动重启应用,在应用发生异常退出或服务器重启时保证应用不会因此停止运行,需要对 PM2 进行配置。具体配置如下:

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

执行以上命令,PM2 将自动创建一个 init 系统,并将正在运行的进程保存到该系统中,以便系统重启时能够自动恢复运行。

第五步:监控应用

使用 PM2 一个重要的优势就是能够通过命令行实时监控应用程序的运行状态,确保应用程序的长期稳定运行。

--- ------

该命令将输出正在运行的应用程序的状态信息,包括应用程序名称、ID、状态等信息。

示例代码

以下是一个简单的 NodeJS 应用程序示例代码,用于演示 PM2 进行自动化部署的方法:

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

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

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

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

该应用使用 NodeJS 内置的 http 模块创建了一个简单的 Web 服务器,在浏览器中访问 http://127.0.0.1:3000/ 将输出 "Hello World!"。

结论

利用 PM2 进行 NodeJS 应用自动化部署,可以大大简化部署的流程,提高部署的效率和稳定性。本文详细介绍了利用 PM2 部署的方法,并附带了示例代码,方便大家学习和实践。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/67077d6cd91dce0dc869362f