PM2 服务器服务运维入门指南

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,方便后续管理和查找。

相关推荐
D2aZXN3FhrDa7e2123 小时前
佛山乐从低预算实体店如何选择?看美诚AI自动化获客方案
运维·人工智能·自动化·佛山美诚科技有限公司
无足鸟ICT3 小时前
【RHCA+】查看变量
linux·运维·服务器
Kina_C4 小时前
Linux DNS 服务器-从高速缓存到辅助 DNS 部署指南
linux·运维·服务器·dns
光年像素4 小时前
Windows Win+R 运行框常用快捷命令大全
windows
EasyGBS4 小时前
ONVIF设备接入国标GB28181视频平台EasyGBS:不用国标也能一键拉流!
服务器·php·音视频
suaizai_4 小时前
TypeScript 7 正式发布!Vue 暂被 “拒之门外“ !!!
linux·运维·ubuntu
小小代码狗5 小时前
SQLi-Labs 基础注入实战教程(Less-1 ~ Less-5and Less-9)
服务器·python·php
慕伏白5 小时前
【慕伏白】Linux 系统如何根据端口号关闭进程
linux·运维·服务器
letisgo55 小时前
VMware Workstation + Ubuntu 26.04 LTS 小白运维部署手册
linux·运维·ubuntu
蓝创工坊Blue Foundry5 小时前
图片文字提取到 Excel:批量任务如何先定义要交付的字段
运维·服务器·开发语言·数据库·自动化·ocr·excel