PM2 教程

PM2 是一个用于管理 Node.js 应用的进程管理器,也支持 Python、Ruby 等脚本语言。它能让你轻松地启动、停止、重启和监控应用


📦 安装 PM2

1
npm install pm2 -g

✅ 需要 Node.js 和 npm 已安装。


🚀 常用命令速查表

功能 命令
启动应用(Node.js) pm2 start app.js --name "my-app"
启动应用(Python) pm2 start app.py --interpreter python3 --name "my-python"
查看运行中的应用 pm2 ls
停止应用 pm2 stop <app_name_or_id>
重启应用 pm2 restart <app_name_or_id>
删除应用(从列表中移除) pm2 delete <app_name_or_id>
查看日志 pm2 logs <app_name_or_id>
清空日志 pm2 flush
保存当前进程状态 pm2 save
开机自启 pm2 startup (执行后按提示操作)

🧠 示例:Python 脚本启动

1
pm2 start main.py --interpreter python3 --name "autofilm"
  • --interpreter python3:指定使用 Python 解释器。
  • --name "autofilm":给你的应用起个名字,方便管理。

⚙️ 自动重启与高可用

PM2 默认会自动重启崩溃的应用。你也可以手动设置:

1
pm2 start main.py --interpreter python3 --name "autofilm" --watch
  • --watch:当文件变化时自动重启应用(适合开发环境)。

💾 日志管理

默认日志路径:

1
~/.pm2/logs/

你可以自定义日志输出路径:

1
pm2 start main.py --interpreter python3 --name "autofilm" --log /var/log/autofilm.log

🔌 开机自启(Linux)

1
pm2 startup

终端会输出一段命令,例如:

bash

深色版本

1
sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u your_user --hp /home/your_user

复制并执行这段命令即可设置开机自启。


📁 多项目管理

你可以使用 ecosystem.config.js 文件来集中配置多个应用:

1
2
3
4
5
6
7
8
9
10
11
12
13
module.exports = {
apps: [
{
name: "web",
script: "server.js",
},
{
name: "worker",
script: "worker.py",
interpreter: "python3",
}
]
}

然后启动所有应用:

1
pm2 start ecosystem.config.js

📊 监控状态

1
pm2 monit

这个命令可以实时查看 CPU、内存等资源占用情况。


✅ 小贴士

  • 使用 pm2 describe <app_name> 可以查看详细信息。
  • 使用 pm2 listpm2 ls 查看所有应用。
  • 使用 pm2 kill 彻底关闭 PM2 服务(谨慎使用)。