在 Node.js 项目中,PM2 是一款非常常用的进程管理工具,它可以让我们方便的管理我们的 Node.js 进程,包括进程的启动、停止、重启等操作。在本文中,我们将详细介绍 PM2 的配置,包括如何使用配置文件,如何设置环境变量等。
安装 PM2
首先,我们需要安装 PM2,可以使用以下命令进行全局安装:
npm install -g pm2
安装完成后,我们可以使用以下命令来验证 PM2 是否已经成功安装:
pm2 -v
如果输出了 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 的值:
const env = process.env.NODE_ENV;
使用环境变量的好处是,我们可以在不同的环境中轻松配置不同的值,例如在开发环境中使用本地数据库,而在生产环境中使用线上数据库。
PM2 进程守护
PM2 还提供了进程守护功能,即当进程意外退出时,PM2 会自动将它重新启动。这对于保证我们的应用程序的可靠性非常重要。
在 PM2 配置文件中,我们可以通过以下方式配置进程守护:
-- -------------------- ---- ------- - ------- ------- --------- ------------- ---------------- ----- -- --------- -------- ----- -- ------------- --------------- ---------------- -------- -- -------- -------------- ----- -- ------ ---------------------------- ----- -- ------------- - - --------------- --- -- ------ -展开代码
通过以上配置,我们可以开启自动重启功能,并设置重启的延迟时间和最大重启次数。我们还可以指定要忽略的文件夹,以避免不必要的重启。
总结
在本文中,我们介绍了 PM2 的配置选项和配置文件,以及如何使用环境变量和进程守护来管理我们的 Node.js 项目。通过合理的配置,我们可以让我们的项目更加稳定可靠,方便我们快速部署和维护。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64a3d36c48841e989403c37b