PM2进程管理

5小时前更新 2 00
PM2进程管理PM2进程管理
PM2进程管理

技能简介

PM2是Node.js的生产级进程管理器,内置负载均衡功能。支持应用部署、实时监控、崩溃自动重启及开机自启动配置,适用于Next.js等框架的生产环境运维。

能做什么

  • 启动、停止、重启Node.js应用
  • 查看实时日志与进程状态
  • 配置开机自动启动
  • 零停机热重载更新
  • 内存超限自动重启
  • 多CPU集群模式运行

使用说明

安装指令:

npm install -g pm2

基础操作步骤:

  1. 启动应用:pm2 start app.jspm2 start npm --name "my-app" -- start
  2. 指定端口启动:PORT=3000 pm2 start npm --name "my-app" -- start
  3. 查看进程列表:pm2 list
  4. 查看日志:pm2 logs my-apppm2 logs --lines 100
  5. 实时监控:pm2 monit
  6. 保存当前配置:pm2 save
  7. 生成开机脚本:pm2 startup(按提示执行输出的sudo命令)

高级用法:

  • 零停机重载:pm2 reload my-app
  • 集群模式(使用全部CPU):pm2 start app.js -i max
  • 内存限制重启:pm2 start app.js --max-memory-restart 200M
  • 文件变更监听:pm2 start app.js --watch

配置文件示例(ecosystem.config.js):

module.exports = {
  apps: [{
    name: 'my-app',
    script: 'npm',
    args: 'start',
    cwd: '/path/to/app',
    env: { NODE_ENV: 'production', PORT: 3000 }
  }]
}

输入与输出

见下方输入与输出表格。

项目内容
输入Node.js应用入口文件路径;npm脚本命令;环境变量配置(可选);ecosystem.config.js配置文件(可选)
输出进程状态列表;实时日志流;监控面板数据;开机启动脚本命令
适用人群Node.js后端开发者、DevOps运维人员、全栈工程师、需要部署Next.js/Nuxt.js应用的技术人员
不包含非Node.js语言的应用管理(Python/Java等)、容器化部署方案(Docker/K8s)、数据库安装与配置、SSL证书管理

 

风险提示

  • 生产环境建议先测试reload行为,避免连接中断
  • 集群模式下需注意会话共享或粘性会话配置
  • 内存限制重启可能导致请求丢失,需评估业务容忍度
  • 开机自启动脚本需根据实际系统类型(systemd/launchd)调整
  • 删除所有进程前确认无重要服务在运行

来源信息

原始链接:https://github.com/openclaw/skills/tree/main/skills/asteinberger/pm2/SKILL.md
来源类型:GitHub仓库

数据统计

相关导航

暂无评论

none
暂无评论...