1. 程式人生 > >學習使用PM2管理nodejs程序

學習使用PM2管理nodejs程序

在專案中,偶爾對命令會忘記一下,所以在此記錄下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 // 啟動並生成一個配置檔案