0%

PM2監控程序

接下來我們要介紹如何簡單的監控我們應用

測試腳本

我們寫個簡單的腳本

1
2
3
4
5
6
7
8
9
10
nano test.sh

#!/bin/bash
echo test is start
for v in {1..10}
do
echo this is a echo
sleep 1
done
echo test is end

建立PM2配置

pm2允許我通過配置的方式來控制我們想要監控的方式,
所以我們先產生一個基本的範例:

1
$ pm2 init

pm2會幫我們產生一個名為ecosystem.config.js的檔案

編輯PM2配置

接下來要編輯這個檔案配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
module.exports = {
apps : [{
name: 'mytest', // 任務名稱
script: 'test.sh', // 啟動腳本

// Options reference: https://pm2.io/doc/en/runtime/reference/ecosystem-file/
//args: 'one two',
instances: 1,
autorestart: true, // 自動重啟開關
max_restarts: 10, // 最大重啟次數
restart_delay: 30000, // 重啟時間間隔(毫秒)
watch: false,
max_memory_restart: '1G',
env: {
NODE_ENV: 'development'
},
env_production: {
NODE_ENV: 'production'
}
}],

deploy : {
production : {
user : 'node',
host : '127.0.0.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任務

啟動任務:

1
$ pm2 start ecosystem.config.js

停止任務:

1
$ pm2 stop ecosystem.config.js

觀看監控:

1
$ pm2 monit

更多的介紹請上官網查詢:PM2教程