pm2 json配置
http://pm2.keymetrics.io/docs/usage/application-declaration/
{
"apps": [{
"name": "grandhope_dev",
"script": "start.js",
"watch": ["src"],
"merge_logs": true,
//"log_date_format": "YYYY-MM-DD HH:mm",
"env": {
"NODE_ENV": "development",
"PORT": "5001"
},
"max_memory_restart"? : "500M",
"instances"? ? ? ? ? : 1,
"max_restarts"? ? ? ? : 10,
"exec_mode"? ? ? ? ? : "cluster_mode",
"error_file"? ? ? ? ? : "logs/server-dev-err.log",
"out_file"? ? ? ? ? ? : "logs/server-dev-out.log",
"pid_file"? ? ? ? ? ? : "logs/server-dev.pid"
}]
}
http://blog.csdn.net/qq_17475155/article/details/53823862
$ npm install pm2 -g? ? # 命令行安裝 pm2
$ pm2 start app.js -i 4 #后臺運行pm2徒爹,啟動4個app.js
# 也可以把'max' 參數(shù)傳遞給 start
# 正確的進程數(shù)目依賴于Cpu的核心數(shù)目
$ pm2 start app.js --name my-api # 命名進程
$ pm2 list? ? ? ? ? ? ? # 顯示所有進程狀態(tài)
$ pm2 monit? ? ? ? ? ? ? # 監(jiān)視所有進程
$ pm2 logs? ? ? ? ? ? ? #? 顯示所有進程日志
$ pm2 stop all? ? ? ? ? # 停止所有進程
$ pm2 restart all? ? ? ? # 重啟所有進程
$ pm2 reload all? ? ? ? # 0秒停機重載進程 (用于 NETWORKED 進程)
$ pm2 stop 0? ? ? ? ? ? # 停止指定的進程
$ pm2 restart 0? ? ? ? ? # 重啟指定的進程
$ pm2 startup? ? ? ? ? ? # 產(chǎn)生 init 腳本 保持進程活著
$ pm2 web? ? ? ? ? ? ? ? # 運行健壯的 computer API endpoint (http://localhost:9615)
$ pm2 delete 0? ? ? ? ? # 殺死指定的進程
$ pm2 delete all? ? ? ? # 殺死全部進程
運行進程的不同方式:
$ pm2 start app.js -i max? # 根據(jù)有效CPU數(shù)目啟動最大進程數(shù)目
$ pm2 start app.js -i 3? ? ? # 啟動3個進程
$ pm2 start app.js -x? ? ? ? #用fork模式啟動 app.js 而不是使用 cluster
$ pm2 start app.js -x -- -a 23? # 用fork模式啟動 app.js 并且傳遞參數(shù) (-a 23)
$ pm2 start app.js --name serverone? # 啟動一個進程并把它命名為 serverone
$ pm2 stop serverone? ? ? # 停止 serverone 進程
$ pm2 start app.json? ? ? ? # 啟動進程, 在 app.json里設置選項
$ pm2 start app.js -i max -- -a 23? ? ? ? ? ? ? ? ? #在--之后給 app.js 傳遞參數(shù)
$ pm2 start app.js -i max -e err.log -o out.log? # 啟動 并 生成一個配置文件
你也可以執(zhí)行用其他語言編寫的app? ( fork 模式):
$ pm2 start my-bash-script.sh? ? -x --interpreter bash
$ pm2 start my-python-script.py -x --interpreter python