如何使用 PM2 对 Node.js 应用进行部署

Node.js 是一种非常流行的服务器端异步 JavaScript 运行环境,它支持极高的并发连接,而且可以轻松地进行扩展。在世界范围内已经有许多使用 Node.js 来进行 Web 开发的公司。

随着 Node.js 的普及,越来越多的人开始使用 PM2 来管理 Node.js 应用。PM2 是一个高级的 Node.js 进程管理器,可以有助于您将应用程序部署到生产环境中,并为其提供各种有用的功能。在本文中,我们将详细介绍如何使用 PM2 对 Node.js 应用进行部署,以及如何使它们在服务器上运行稳定且高效。

准备工作

在开始使用 PM2 之前,您需要在您的服务器上安装 Node.js 和 NPM。如果您还没有安装 Node.js,请按照以下步骤进行操作:

  1. 访问 Node.js 的官方网站 https://nodejs.org/
  2. 选择与您的操作系统相对应的版本,下载并安装。

安装完成后,您可以在终端中输入以下命令来验证是否成功安装:

---- --
--- --

如果您看到类似于以下输出,则表明您已成功安装:

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

安装 PM2

安装 Node.js 和 NPM 后,您可以使用以下命令在全局范围内安装 PM2:

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

安装完成后,您可以通过以下命令检查 PM2 是否成功安装:

--- --

部署 Node.js 应用

下面是一个简单的 Node.js 应用程序,它用来创建一个 HTTP 服务器,然后输出“Hello World”:

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

为了将此应用程序部署到生产服务器上,您可以执行以下命令:

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

此命令将启动应用程序并将其命名为“demo-app”。启动成功后,您可以使用以下命令来查看当前正在运行的应用程序:

--- ----

注意到,此时我们只是将 Node.js 应用程序作为一个进程启动,这并不足以让您的应用程序在生产环境中稳定运行下去。接下来,我们将介绍使用 PM2 提供的其他功能来管理应用程序。

配置 PM2

PM2 在启动应用程序时,基于配置设置一些属性。可以通过以下命令来设置应用程序的配置属性:

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

例如,您可以使用以下命令来将日志文件存储在指定目录下:

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

环境变量

在应用程序的配置文件中,可以使用环境变量来配置一些私密信息,例如数据库密码、API 密钥等敏感信息。在 PM2 中,可以使用 env 属性来配置环境变量。例如,使用以下配置文件 app.config.js

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

在这个例子中,我们设置了两个环境变量,一个是 NODE_ENV,另一个是 DB_PASSWORD。根据指定的模式,应用程序将使用相应的配置。

监控 PM2

PM2 提供了许多有用的指令,可以用来监控正在运行的应用程序,例如 CPU、内存占用等。以下是一些常用的命令:

监听应用程序的日志

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

查看应用程序的内存占用

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

查看应用程序的 CPU 占用

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

查看应用程序的状态

--- ------

停止应用程序

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

重启应用程序

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

结论

通过使用 PM2,您可以轻松地将 Node.js 应用程序部署到生产服务器上,并为其提供各种功能,如自动重启、负载均衡、监控等。还可以为您的应用程序提供有用的配置属性,例如环境变量、日志文件、多个进程等。

本文涵盖了一些有用的 PM2 指令及其功能,但还有更多可以使用的功能。我们鼓励您继续学习 PM2 文档,并着手实践来熟练掌握这个强大的工具。

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