简介
PM2
是一个流行的、跨平台的 Node.js 进程管理工具。它可以帮助开发人员快速部署和管理 Node.js 应用程序,从而提高应用程序的可靠性和可扩展性。
在本文中,我们将详细介绍如何在 Linux 上安装、配置和使用 PM2。我们还将讨论如何在 PM2 中使用环境变量、配置文件和插件来优化应用程序的性能、安全性和可维护性。
安装 PM2
安装 PM2 很简单,首先保证已安装 Node.js 环境,然后使用 npm 全局安装 PM2:
$ npm install pm2 -g
如果出现了权限问题,可以使用管理员身份进行安装:
$ sudo npm install pm2 -g
安装完成后,可以使用以下命令检查 PM2 版本:
$ pm2 -v
部署应用程序
让我们从简单的示例开始,创建一个名为 app.js
的 Node.js 应用程序:
-- -------------------- ---- ------- ----- ---- - ---------------- ----- ------ - ----------------------- ---- -- - --------------- --------- --- ------------------- -- -- - ------------------- -- --------- -- ---- -------- ---
接下来,在项目根目录下使用以下命令启动应用程序:
$ node app.js
现在,应用程序运行在终端窗口中,但是我们关闭终端窗口后,应用程序也会随着终端一同停止运行。
为了更好的部署应用程序,我们使用 PM2 进行管理。使用以下命令在 PM2 中添加应用程序:
$ pm2 start app.js
PM2 将启动应用程序,并为其生成一个进程 ID(PID)。使用以下命令检查应用程序的状态:
$ pm2 status
此时,可以使用以下命令停止应用程序:
$ pm2 stop app.js
或者,可以使用以下命令重启应用程序:
$ pm2 restart app.js
环境变量
在实际应用程序中,我们需要使用环境变量来区分不同的运行环境(如开发环境、测试环境和生产环境),以便在不同的环境中使用不同的配置和行为。
在 PM2 中使用环境变量非常简单,在启动应用程序时使用以下命令来设置环境变量:
$ pm2 start app.js --env <environment>
例如,假设我们要将应用程序部署到生产环境中,并使用名为 production
的配置文件。在启动应用程序时,我们可以使用以下命令:
$ pm2 start app.js --env production
在应用程序中使用环境变量也非常简单,可以从 process.env
对象中获取环境变量的值,例如:
const port = process.env.PORT || 3000; const env = process.env.NODE_ENV || 'development';
配置文件
在复杂的应用程序中,可能需要多个环境变量和配置文件。为了更好地管理应用程序的配置,可以使用 PM2 的配置文件。
首先,在项目根目录下创建一个名为 pm2.config.js
的文件,使用以下格式来声明配置:
-- -------------------- ---- ------- -------------- - - ----- -- ----- ------ ------- --------- ---- - --------- ------------- -- --------------- - --------- ------------ - -- -
在配置文件中,我们定义了一个名为 app
的应用程序,使用文件名 app.js
来运行。
还定义了两个环境:开发环境和生产环境。在开发环境中,我们可以使用默认的 NODE_ENV 环境变量;在生产环境中,我们可以使用 env_production
中定义的 NODE_ENV 环境变量。
现在,我们可以使用以下命令来使用配置文件启动应用程序:
$ pm2 start pm2.config.js
插件
PM2 还支持多个插件,用于改进应用程序的性能、安全性和可维护性。以下是一些常见的插件:
Log Rotate
Log Rotate 插件用于自动管理应用程序的日志文件。使用以下命令安装 Log Rotate 插件:
$ pm2 install pm2-logrotate
启用 Log Rotate 插件后,应用程序的日志文件将会自动切割和压缩。
Keymetrics
Keymetrics 插件用于监控和管理远程服务器上的 PM2 进程。在启用 Keymetrics 插件后,可以从 Keymetrics 网站上实时监控和管理远程服务器上的 PM2 进程。
使用以下命令安装 Keymetrics 插件:
$ pm2 install pm2-server-monit
然后,需要在 Keymetrics 网站上注册一个帐户,并在插件设置中输入 API 密钥。
结论
本文介绍了如何在 Linux 上安装、配置和使用 PM2,从部署到监控,包括了环境变量、配置文件和插件的使用方法。PM2 是一个非常重要的工具,可以帮助开发人员更好地处理 Node.js 应用程序的运行和管理。
作为开发人员,希望我们可以使用 PM2 更好地管理我们的应用程序,并在实际场景中不断学习和优化 PM2 的使用技巧。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67031332d91dce0dc84999ff