pm2 是帶有負載均衡的 Node 進程管理器。功能包括:守護進程、日誌、監控、熱重載、部署等等,總之功能很強大,操做很便捷,值得花一些時間瞭解。
全局安裝 pm2 node
$ npm install pm2 -g
git
這裏只列出工做中最經常使用的命令。只有在啓動的時候須要執行具體的入口文件好比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。github
pm2 也能夠以配置文件的形式啓動進程,功能很強大。
命令行輸入:web
pm2 ecosystem
npm
會生成配置文件模板,大體以下:bash
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,若是你想深刻研究這些,推薦看官方文檔,寫的很詳細,不過目前只有英文版的文檔。app
pm2 官方文檔:pm2.keymetrics.io/docs/usage/…負載均衡