在專案中,偶爾對命令會忘記一下,所以在此記錄下pm2的常用命令。
1. pm2是什麼?
pm2 是一個帶有負載均衡的Node應用的程式管理器, 它能夠管理Node應用,還能夠對應用的執行狀態進行監控。
2. pm2 安裝及使用
安裝命令如下:
npm install pm2 -g
比如說 我在專案中有一個 app.js 啟動程式,程式碼如下:
const Koa = require('koa'); const app = new Koa(); app.use(async (ctx, next) => { ctx.response.body = 'hello world'; await next(); }); app.listen(3000); console.log('app started at port 3000...');
然後每次啟動下該本地專案服務,我們需要 node app.js 這樣啟動下,如下所示:
然後在瀏覽器中訪問 http://localhost:3000/ 就可以列印如下效果了:
但是現在我們有pm2了,我們可以使用pm2來管理我們的node應用程式進行管理。我們只需要執行 pm2 start app.js 即可;如下:
然後在瀏覽器中訪問 http://localhost:3000/ 也一樣能看到效果。
下面是pm2 常用的命令:
$ npm install pm2 -g // pm2 命令安裝 $ pm2 start app.js -i 2 // 後臺執行pm2,啟動2個app.js $ pm2 start app.js --name xxx // 命名程式為xxx
比如如下所示:
$ pm2 list // 顯示所有程式狀態 $ pm2 monit // 監視所有程式 $ pm2 logs // 顯示所有程式日誌 $ pm2 stop all // 停止所有程式 $ pm2 restart all // 重啟所有程式 $ pm2 reload all // 0秒停機過載程式 $ pm2 stop 0 // 停止指定的程式 $ pm2 restart 0 // 重啟指定的程式 $ pm2 startup // 產生init指令碼,保持程式活著 $ pm2 delete 0 // 殺死指定的程式 $ pm2 delete all // 殺死全部程式 $ pm2 web // 監控所有被pm2管理的程式
執行程式的不同方式:
$ pm2 start app.js -i max // 指定有效CPU數目啟動最大程式數目 $ pm2 start app.js -i 3 // 啟動3個程式 $ pm2 start app.js -x // 用fork模式啟動 app.js, 而不是使用 cluster $ pm2 start app.js --name xxxx // 啟動一個程式並把它命名為 xxxx $ pm2 start app.json // 啟動程式,在app.json裡設定選項 $ pm2 start app.js -i max -- -a 23 // 在--之後給app.js傳遞引數 $ pm2 start app.js -i max -e err.log -o out.log // 啟動並生成一個配置檔案