文章目录
PM2 是一个流行的 Node.js 应用进程管理器,它允许您保持应用程序永远在线,并在后台运行。它允许你轻松地启动、停止、重启、监控和管理你的Node.js应用程序。
PM2 通常用于生产环境中,以确保 Node.js 应用程序的稳定性和可靠性。
PM2使用起来非常灵活,支持多种功能,包括但不限于:
- 自动重启:应用程序崩溃时自动重启。
- 集群模式:允许你利用所有CPU核心来运行你的应用程序,通过负载均衡提高性能。
- 日志管理:PM2可以自动管理日志,并且可以设置日志的保留时间。
- 进程监控:PM2可以实时监控应用程序的状态,并且可以发送通知。
- 远程管理:PM2支持通过API和仪表板进行远程管理。
- 部署功能:可以配合使用PM2的Keymetrics在线服务,实现应用程序的部署。
PM2的一些常用命令:
安装 PM2:
npm install pm2 -g
启动应用程序:
使用 PM2 启动一个 Node.js 应用程序:
pm2 start app.js
启动并设置应用程序名称:
使用 PM2 启动一个 Node.js 应用程序并设置程序名称:
pm2 start app.js --name "my-app"
这里 app.js
是您的应用程序入口文件。
列出所有进程:
查看由 PM2 管理的所有进程:
pm2 list
查看所有进程的状态:
pm2 status
保存当前进程列表的状态:
pm2 save
监控应用程序:
实时监控应用程序的日志输出:
pm2 monit
日志管理:
查看应用程序日志:
pm2 logs
重启应用程序:
重新启动一个特定的应用程序:
pm2 restart app.js
停止应用程序:
停止一个特定的应用程序:
pm2 stop app.js
删除应用程序:
从 PM2 的管理列表中删除一个应用程序:
pm2 delete app.js
更新 PM2:
更新 PM2 到最新版本:
npm update pm2 -g
设置环境变量:
pm2 start app.js --env PRODUCTION
配置文件:
您可以为 PM2 创建配置文件(通常是 ecosystem.config.js
或 pm2.json
),以便于管理多个应用程序和环境变量:
module.exports = {
apps : [{
name: 'my-app',
script: 'app.js',
env: {
NODE_ENV: 'development'
},
env_production: {
NODE_ENV: 'production'
}
}]
};
然后,您可以使用配置文件启动应用程序:
pm2 start ecosystem.config.js
集群模式:
PM2 支持集群模式,可以在多个 CPU 核心上运行同一个应用程序的多个实例,以提高性能和可靠性:
pm2 start app.js -i max
这里 -i max
表示为每个可用 CPU 核心启动一个工作进程。