PM2(非 Docker 环境首选,Node.js 进程管理神器)

PM2 是 Node.js 专属的进程管理器,支持自动重启、日志管理、进程守护,适合未容器化的场景

步骤 1:安装 PM2(全局安装)

bash

运行

npm install pm2 -g
步骤 2:编译 NestJS 代码(先构建生产包)

bash

运行

npm run build  # 生成 dist 目录(编译后的 JS 代码)
步骤 3:用 PM2 启动服务(永久运行)

bash

运行

# 方式 1:直接启动(推荐)
pm2 start dist/main.js --name nest-api

# 方式 2:通过配置文件启动(更易管理,推荐生产环境)
# 创建 pm2.config.js
cat > pm2.config.js << EOF
module.exports = {
  apps: [{
    name: 'nest-api',        // 进程名
    script: 'dist/main.js',  // 启动入口
    instances: 'max',        // 多核CPU自动利用(集群模式)
    autorestart: true,       // 崩溃自动重启
    watch: false,            // 生产环境关闭监听(避免代码改动触发重启)
    max_memory_restart: '1G',// 内存占用超1G自动重启
    env_production: {
      NODE_ENV: 'production'
    }
  }]
};
EOF

# 启动配置文件
pm2 start pm2.config.js --env production
步骤 4:设置 PM2 开机自启(服务器重启后自动运行)

bash

运行

# 生成开机自启脚本
pm2 startup

# 按提示执行输出的命令(示例):
# sudo env PATH=$PATH:/usr/local/bin pm2 startup systemd -u root --hp /root

# 保存当前 PM2 进程列表(确保重启后恢复)
pm2 save
PM2 常用管理命令

bash

运行

pm2 list          # 查看所有进程
pm2 logs nest-api # 查看服务日志(实时)
pm2 restart nest-api # 重启服务
pm2 stop nest-api    # 停止服务
pm2 delete nest-api  # 删除进程
pm2 monit         # 监控进程资源占用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值