pm2 是带有负载均衡的 Node 进程管理器。功能包括:守护进程、日志、监控、热重载、部署等等,总之功能很强大,操作很便捷,值得花一些时间了解。
安装
全局安装 pm2
$ npm install pm2 -g
常用命令
这里只列出工作中最常用的命令。只有在启动的时候需要执行具体的入口文件比如app.js,之后所有的操作都基于进程的名称或者id。
pm2 start app.js启动进程pm2 start app.js--name myweb 启动进程并命名为mywebpm2 start app.js --watch启动进程 热重载pm2 start app.js -i 0启动进程,根据cpu核数自动负载均衡pm2 stop myweb停止myweb进程pm2 show myweb查看myweb进程详细信息pm2 restart myweb重启myweb进程pm2 list所有进程列表pm2 logs查看进程实时日志pm2 logs --lines 200查看进程实时日志,并显示200条旧日志pm2 delete myweb删除myweb进程pm2 delete all删除所有进程pm2 monit监控进程的cpu、内存使用情况
举个例子:以热重载的方式启动进程并命名为 koa 。App name:koa,id:0。

配置文件
pm2 也可以以配置文件的形式启动进程,功能很强大。
命令行输入:
pm2 ecosystem
会生成配置文件模板,大致如下:
module.exports = {
apps: [{
name: 'API',
script: 'app.js',
// Options reference: https://pm2.io/doc/en/runtime/reference/ecosystem-file/
args: 'one two',
instances: 1,
autorestart: true,
watch: false,
max_memory_restart: '1G',
env: {
NODE_ENV: 'development'
},
env_production: {
NODE_ENV: 'production'
}
}],
deploy: {
production: {
user: 'node',
host: '212.83.163.1',
ref: 'origin/master',
repo: 'git@github.com:repo.git',
path: '/var/www/production',
'post-deploy': 'npm install && pm2 reload ecosystem.config.js --env production'
}
}
};具体怎么用这里不赘述了,本篇主旨在于快速上手pm2,如果你想深入研究这些,推荐看官方文档,写的很详细,不过目前只有英文版的文档。
pm2 官方文档:pm2.keymetrics.io/docs/usage/…