全局安裝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 上的解決方案來進行日誌的管理和分割。