PM2 服务器服务运维入门指南
一、PM2 简介
PM2 是一个 Node.js 应用的进程管理器,支持守护进程、监控、日志管理等功能,也支持运行 Python、Shell 等脚本。
二、常用命令速查
1. 查看运行状态
bash
pm2 ps # 查看所有运行中的服务(简写)
pm2 list # 同上,完整写法
pm2 ls # 同上
2. 查看服务详情
bash
pm2 info <id|name> # 查询服务详细信息(包括部署目录)
# 示例
pm2 info 7 # 查询ID为7的服务详情
pm2 info 10 # 查询ID为10的服务详情
3. 进入服务目录
bash
cd /opt/jingjiawei/middleearth # 根据 pm2 info 查到的路径进入
4. 服务启停管理
bash
pm2 restart <id|name> # 重启服务
pm2 stop <id|name> # 停止服务
pm2 start <id|name> # 启动已停止的服务
pm2 delete <id|name> # 删除服务(从PM2列表中移除)
三、启动新服务
1. 启动 Node.js 服务
bash
pm2 start "node --env-file=.env.development src/worker.js" --name <service_name>
示例:
bash
pm2 start "node --env-file=.env.development src/worker.js" --name my-worker
2. 启动 FastAPI 服务(Python)
bash
pm2 start "uvicorn app.main:app --host 0.0.0.0 --port 8019" --name <service_name>
示例:
bash
pm2 start "uvicorn app.main:app --host 0.0.0.0 --port 8019" --name fastapi-app
四、其他常用命令
bash
pm2 logs # 查看所有服务日志
pm2 logs <id|name> # 查看指定服务日志
pm2 monit # 实时监控面板(CPU/内存)
pm2 save # 保存当前进程列表(开机自启用)
pm2 startup # 生成开机自启动配置
pm2 reload all # 零停机重载所有服务(仅cluster模式)
五、实战操作流程
场景:排查和重启服务
bash
# 1. 查看服务运行情况
pm2 ps
# 2. 找到问题服务的ID(比如7),查看详情获取部署目录
pm2 info 7
# 3. 进入服务目录
cd /opt/jingjiawei/middleearth
# 4. 重启服务
pm2 restart 7
# 5. 查看日志确认启动成功
pm2 logs 7 --lines 50
六、注意事项
| 操作 | 说明 |
|---|---|
restart |
重启服务,会有短暂停机 |
reload |
零停机重载(需 cluster 模式) |
stop |
仅停止,进程列表保留 |
delete |
完全移除,需重新 add 才能启动 |
💡 提示 :启动服务时建议使用有意义的
--name,方便后续管理和查找。