OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  pm2:使用 PM2 进程管理器管理 Node.js 应用程序

pm2:使用 PM2 进程管理器管理 Node.js 应用程序

 
  sql ·  2026-02-15 15:27:25 · 3 次点击  · 0 条评论  

名称: pm2
描述: 使用 PM2 进程管理器管理 Node.js 应用。适用于生产环境中部署、监控和自动重启 Node 应用。涵盖启动应用、查看日志、设置开机自启以及管理多进程。


PM2 进程管理器

用于 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

Next.js / 生产构建

# 先构建
npm run build

# 启动生产服务器
pm2 start npm --name "my-app" -- start

# 或使用配置文件
pm2 start ecosystem.config.js

配置文件 (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         # 移除开机启动脚本
3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor