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. 查看日志