pm2 用法

栏目: pm2 发布时间:2022-02-09

PM2 is a daemon process manager that will help you manage and keep your application online. Getting started with PM2 is straightforward, it is offered as a simple and intuitive CLI, installable via NPM.

pm2 安装

$ npm install pm2@latest -g
# or
$ yarn global add pm2

start app

创建一个简单的 app.js 文件,用于示例演示

const express = require('express')
const app = express()
const port = 3000

app.get('/', (req, res) => {
  res.send('Hello World!')
})

app.listen(port, () => {
  console.log(`Example app listening at http://localhost:${port}`)
})
  • 启动方法一
$ pm2 start app.js

使用 pm2 list 查看

$ pm2 list
│ id  │ name   │ namespace   │ version │ mode    │ pid      │ uptime │ ↺    │ status    │ cpu      │ mem      │ user     │ watching │
├─────┼────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 0   │ app    │ default     │ 1.0.0   │ fork    │ 56451    │ 6s     │ 0    │ online    │ 0%       │ 34.7mb   │ root
  • 启动方法二

配置 ecosystem.config.js

module.exports = {
  apps : [{
    name: 'app',
    script: './app.js',
    env: {
      NODE_ENV: 'development',
    },
    env_production: {
      NODE_ENV: 'production',
    },
    instances: 2,
    autorestart: true,
    watch: false,
    max_memory_restart: '1G',
  }]
}

启动应用

pm2 restart ecosystem.config.js --env production

pm2 常用命令

  • pm2 list 查看进程/应用列表
pm2 list
  • pm2 start 启动进程/应用

  • -name 参数

pm2 start app.js --name demo-app

--watch 参数

pm2 start app.js --watch
  • pm2 restart 重启进程/应用
pm2 restart app
pm2 restart all
  • pm2 stop 停止进程/应用
pm2 stop app
  • pm2 stop all
pm2 stop all
  • pm2 delete 删除进程
pm2 delete app
  • pm2 delete all
pm2 delete all
  • pm2 kill 杀掉进程/应用
pm2 kill all
  • pm2 describe
pm2 describe app
  • pm2 monit
pm2 monit
  • pm2 logs
pm2 logs
pm2 logs app
  • pm2 save
pm2 save
  • pm2 resurrect
pm2 resurrect

注意事项

  • 如应用代码目录发生变化,需先杀掉 pm2 进程再重启应用,否则访问不到新的代码

  • 默认情况下,a 用户看不到 b 用户通过 pm2 启动的进程。

在实际项目中,不管是手动使用 pm2 启动应用还是通过发版工具(比如 jenkins)启动应用,应尽量使用同一个用户。

本文地址:https://www.tides.cn/p_pm2-guide