nodejs服務使用pm2啓動多個進程和進程守護,以及使用pm2-logrotate-ext分割日誌

全局安裝pm2

npm install pm2 -g

 pm2 json 配置文件,

script 指向的是入口文件,

watch 是否監聽文件改變重啓

instances  啓動的進程數

日誌的配置, 訪問日誌和異常日誌,日誌的時間前綴格式,是否合併日誌,如果開啓兩個進程,不合並日志就會生成兩份訪問日誌和異常日誌,分爲兩個進程的日誌。

{
  "apps": {
    "name": "app",
    "script": "bin/www",
    "watch": false,
    "instances": 2,
    "error_file": "logs/err.log",
    "out_file": "logs/out.log",
    "log_date_format": "YYYY-MM-DD HH:mm:ss",
    "merge_logs": true
  }
}

package.json 里加一條啓動項  prd, 啓動指向上面的配置文件

 "scripts": {
    "start": "node bin/www",
    "dev": "cross-env NODE_ENV=dev ./node_modules/.bin/nodemon bin/www",
    "prd": "cross-env NODE_ENV=production pm2 start pm2.conf.json",
    "test": "echo \"Error: no test specified\" && exit 1"
  }

PM2 一些常用命令。 XXX代表配置的進程名字或ID

pm2 list    // 查看所有當前進程

pm2 stop XXX | all  // 停止進程

pm2 restart XXX | all  // 重啓進程

pm2 delete XXX | all  // 刪除進程  

 

關於日誌,pm2的日誌分割,設置的文件大小沒滿,按天分割有問題,使用 github 上的解決方案來進行日誌的管理和分割。

pm2-logrotate-ext 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章