名称: pm2
描述: 使用 PM2 进程管理器管理 Node.js 应用。适用于生产环境中部署、监控和自动重启 Node 应用。涵盖启动应用、查看日志、设置开机自启以及管理多进程。
用于 Node.js 的生产级进程管理器,内置负载均衡器。
npm install -g pm2
# 启动应用
pm2 start app.js
pm2 start npm --name "my-app" -- start
pm2 start "npm run start" --name my-app
# 指定端口/环境变量
pm2 start npm --name "my-app" -- start -- --port 3000
PORT=3000 pm2 start npm --name "my-app" -- start
# 列出进程
pm2 list
pm2 ls
# 日志
pm2 logs # 所有日志
pm2 logs my-app # 指定应用日志
pm2 logs --lines 100 # 最近 100 行日志
# 控制
pm2 restart my-app
pm2 stop my-app
pm2 delete my-app
pm2 reload my-app # 零停机重载
# 信息
pm2 show my-app
pm2 monit # 实时监控
# 保存当前进程列表
pm2 save
# 生成启动脚本(使用 sudo 运行输出的命令)
pm2 startup
# 示例输出 - 运行此命令:
# sudo env PATH=$PATH:/opt/homebrew/bin pm2 startup launchd -u username --hp /Users/username
# 先构建
npm run build
# 启动生产服务器
pm2 start npm --name "my-app" -- start
# 或使用配置文件
pm2 start ecosystem.config.js
module.exports = {
apps: [{
name: 'my-app',
script: 'npm',
args: 'start',
cwd: '/path/to/app',
env: {
NODE_ENV: 'production',
PORT: 3000
}
}]
}
| 参数 | 说明 |
|---|---|
--name |
进程名称 |
--watch |
文件变更时自动重启 |
-i max |
集群模式(使用所有 CPU) |
--max-memory-restart 200M |
内存超限时自动重启 |
--cron "0 * * * *" |
定时重启 |
pm2 delete all # 删除所有进程
pm2 kill # 终止 PM2 守护进程
pm2 unstartup # 移除开机启动脚本