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