PM2 是一个非常流行的 Node.js 应用进程管理工具,可以轻松地实现 Node.js 应用的部署、重启和监控等功能。本章将详细介绍如何使用 PM2 来部署和管理 Node.js 应用。
PM2 的安装
首先需要确保系统中已经安装了 Node.js 和 npm。PM2 可以通过 npm 安装:
npm install pm2 -g
安装完成后,可以通过 pm2
命令查看 PM2 的版本信息来确认是否安装成功:
pm2 --version
启动应用
使用 PM2 启动应用非常简单,只需指定应用的入口文件即可。例如,如果应用的入口文件为 app.js
,则可以使用如下命令启动:
pm2 start app.js
启动参数配置
PM2 提供了丰富的启动参数,可以通过 --name
参数为应用起个名字,这样在后续的管理操作中会更方便:
pm2 start app.js --name my-app
也可以通过 ecosystem.config.js
文件来配置启动参数,这种方式适用于多个应用的管理:
-- -------------------- ---- ------- -------------- - - ----- - - ----- --------- ------- ----------- ---------- ------ ------------ ----- ------ ------ ------------------- ----- ---- - --------- ------------- -- --------------- - --------- ------------ - - - --
启动时指定配置文件:
pm2 start ecosystem.config.js
应用管理
PM2 提供了一系列的应用管理命令,如启动、停止、重启、查看状态等。
查看应用状态
可以通过 pm2 list
或者 pm2 status
命令查看所有应用的状态:
pm2 list
重启应用
当需要重启应用时,可以直接使用 pm2 restart
命令:
pm2 restart my-app
停止应用
停止应用也非常简单,使用 pm2 stop
命令即可:
pm2 stop my-app
删除应用
如果需要彻底删除某个应用,可以使用 pm2 delete
命令:
pm2 delete my-app
日志管理
PM2 提供了日志管理功能,可以帮助开发者更好地调试和维护应用。默认情况下,PM2 会生成两份日志文件:一份是标准输出日志,一份是错误输出日志。
可以通过 pm2 logs
命令查看日志:
pm2 logs
监控应用
PM2 还提供了实时监控功能,可以查看 CPU 和内存的使用情况:
pm2 monit
集群模式
PM2 支持集群模式,可以利用多核 CPU 提升应用性能。启动时只需要设置 instances
参数为 max
即可:
pm2 start app.js --name my-app --instances max
自动重启机制
PM2 内置了自动重启机制,当应用出现异常退出时,PM2 会自动重启应用。可以通过设置 autorestart
参数来开启或关闭自动重启功能:
{ name: 'my-app', script: './app.js', autorestart: true }
环境变量管理
PM2 支持环境变量管理,可以在启动应用时通过 env
参数来传递环境变量:
{ name: 'my-app', script: './app.js', env: { NODE_ENV: 'development' } }
此外,PM2 还支持读取 .env
文件中的环境变量:
pm2 start app.js --env .env
配置文件热更新
PM2 支持配置文件的热更新,无需重启应用即可生效:
pm2 reload ecosystem.config.js
生产环境部署
在生产环境中部署应用时,建议开启生产环境模式,并配置适当的环境变量:
pm2 start app.js --name my-app --env production
总结
PM2 是一个强大的 Node.js 应用进程管理工具,不仅可以帮助开发者简化应用的启动、停止、重启等操作,还提供了丰富的监控和管理功能。掌握 PM2 的使用方法,对于提升 Node.js 应用的运维效率有着非常重要的意义。