【node】如何用 pm2 管理 node 项目

1. 安装 PM2

首先,确保你已经全局安装了 PM2。如果没有安装,可以使用 npm 安装:

npm install pm2 -g

安装完成后,可以通过以下命令检查 PM2 是否安装成功:

pm2 -v

2. 启动 Node 项目

假设你的项目主文件是 app.js,你可以直接使用以下命令启动:

pm2 start app.js

启动后,PM2 会将你的应用作为后台进程运行,并分配一个进程 ID(通常从 0 开始)。

常用启动参数:

  • 指定进程名称:默认进程名是文件名,可以自定义名称以便管理:
bash 复制代码
 pm2 start app.js --name "my-app"

比如我有个 Next.js 项目(NextJs 是全栈框架,所以部署的时候必须选择 Node),运行

bash 复制代码
 pm2 start pnpm --name "my-next-app" -- run start

这个命令的意思是

  • 使用 PM2 启动一个名为 my-next-app 的后台进程。
  • 这个进程通过 pnpm 执行 package.json 中定义的 start 脚本。

这个命令的意思

  • 指定环境变量:比如运行在生产环境:

    pm2 start app.js --env production

  • 监听文件变化并自动重启:适合开发环境:

    pm2 start app.js --watch

3. 查看进程状态

启动后,可以使用以下命令查看所有运行中的进程

pm2 list

这会显示进程的 ID、名称、状态、CPU 和内存使用情况等

4. 管理进程

  • 停止进程:

    pm2 stop app.js 或使用进程 ID/名称 pm2 stop 0 pm2 stop my-app

  • 重启进程:

    pm2 restart app.js

  • 删除进程:

    pm2 delete app.js

5、 使用配置文件

js 复制代码
module.exports = {
  apps: [{
    name: "my-app",          // 进程名称
    script: "app.js",        // 启动文件
    instances: 1,            // 实例数量(可设置为 "max" 使用所有 CPU 核心)
    autorestart: true,       // 自动重启
    watch: false,            // 是否监听文件变化
    max_memory_restart: "1G",// 内存超过 1G 时重启
    env: {                   // 默认环境变量
      NODE_ENV: "development"
    },
    env_production: {        // 生产环境变量
      NODE_ENV: "production"
    }
  }]
};

启动

bash 复制代码
pm2 start ecosystem.config.js

6、 其他命令

bash 复制代码
 pm2 startup  开机自启
 pm2 log.   查看日志
相关推荐
计算机魔术师20 分钟前
管谷歌的不是Pichai一个人,是一整层AI智能体
前端
米米商聊24 分钟前
图标能点,按钮就可用了吗?键盘、名称与收藏状态
前端·javascript
Younglina1 小时前
三个晚上,我和 WorkBuddy 做了个生图网站
前端·后端·ai编程
xy34531 小时前
Axure 9.0 内联框架加载方式
前端·ui·html·axure·原型·产品设计
陈随易2 小时前
副业搞钱点子之收入查看器
前端·后端
Profile排查笔记2 小时前
浏览器指纹逆向怎么分析:从网络请求追踪到 JavaScript 采集链
前端·人工智能·后端·自动化
hudie7653 小时前
LikeShop 二开最常改的 5 个文件(附改前改后对比)
前端·uni-app·php·个人开发
qetfw3 小时前
Bash 函数与流程控制:read、if、for、case 验证
linux·前端·javascript·bash
鬼手点金4 小时前
从 API 消息到模型 Token:Chat Template
java·前端·javascript·数据库·人工智能·深度学习·1024程序员节
Shadow(⊙o⊙)4 小时前
LangChain 自定义工具全解析:从 @tool 到 bind_tools 的完整调用链路
java·服务器·前端·1024程序员节