Node.js 中 PM2 配置详解

阅读时长 4 分钟读完

在 Node.js 项目中,PM2 是一款非常常用的进程管理工具,它可以让我们方便的管理我们的 Node.js 进程,包括进程的启动、停止、重启等操作。在本文中,我们将详细介绍 PM2 的配置,包括如何使用配置文件,如何设置环境变量等。

安装 PM2

首先,我们需要安装 PM2,可以使用以下命令进行全局安装:

安装完成后,我们可以使用以下命令来验证 PM2 是否已经成功安装:

如果输出了 PM2 的版本号,那么说明 PM2 已经成功安装。

PM2 配置文件

PM2 可以通过命令行参数来设置一些配置选项,比如设置进程数、日志文件路径等。不过,更好的方式是使用 PM2 配置文件,它可以更好的管理我们的配置,让我们的项目更加易于维护。

在使用 PM2 配置文件之前,我们需要先了解一些基本的配置选项。比如:

-- -------------------- ---- -------
-
  ------- -------   -- ----
  --------- -------------  -- ---------
  ------------ ----------  -- ------- ------- - ---- ----
  ------------ --   -- ------- - ---
  --------------------- ----  -- ------------ ----- --- --------
  ------ -
    ----------- ------------  -- ------
  --
  ------------- -------------------
  ----------- ----------------
-
展开代码

通过以上配置,我们可以启动一个名为 demo 的进程,它将使用 ./index.js 文件作为启动文件,运行在 cluster 模式下,启动 4 个进程。如果单个进程占用内存超过 1G,PM2 将自动重启该进程。我们还可以设置环境变量 NODE_ENV 的值为 production,并将错误日志和输出日志分别存储到 ./logs/error.log 和 ./logs/out.log 文件中。

使用 PM2 配置文件的好处是,我们可以将配置选项分离出来,方便我们管理和维护多个项目的配置选项。同时,我们还可以使用 JSON 或 YAML 格式来编写配置文件,方便我们阅读和修改。

PM2 环境变量

在 Node.js 项目中,我们通常会使用环境变量来管理一些重要的配置信息,比如数据库连接地址、应用程序端口等。在 PM2 中,我们可以使用环境变量来配置我们的应用程序,方便我们快速进行部署和修改。

在 PM2 配置文件中,我们可以通过 env 属性来设置环境变量,如下所示:

-- -------------------- ---- -------
-
  ------- -------
  --------- -------------
  ------ -
    ------- -------
    --------- ---------------------------------
    ----------- ------------
  -
-
展开代码

在以上配置中,我们设置了三个环境变量:PORT、DB_URL、NODE_ENV。这些环境变量将被传递给启动的进程,我们可以在进程中通过 process.env 来访问这些环境变量。例如,在我们的应用程序中获取 NODE_ENV 的值:

使用环境变量的好处是,我们可以在不同的环境中轻松配置不同的值,例如在开发环境中使用本地数据库,而在生产环境中使用线上数据库。

PM2 进程守护

PM2 还提供了进程守护功能,即当进程意外退出时,PM2 会自动将它重新启动。这对于保证我们的应用程序的可靠性非常重要。

在 PM2 配置文件中,我们可以通过以下方式配置进程守护:

-- -------------------- ---- -------
-
  ------- -------
  --------- -------------
  ---------------- -----  -- ---------
  -------- -----   -- -------------
  --------------- ---------------- --------  -- --------
  -------------- -----  -- ------
  ---------------------------- -----  -- ------------- - -
  --------------- ---   -- ------
-
展开代码

通过以上配置,我们可以开启自动重启功能,并设置重启的延迟时间和最大重启次数。我们还可以指定要忽略的文件夹,以避免不必要的重启。

总结

在本文中,我们介绍了 PM2 的配置选项和配置文件,以及如何使用环境变量和进程守护来管理我们的 Node.js 项目。通过合理的配置,我们可以让我们的项目更加稳定可靠,方便我们快速部署和维护。

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

纠错
反馈

纠错反馈