2021-5-25 前端達(dá)人
PM2是node進(jìn)程管理工具,可以利用它來(lái)簡(jiǎn)化很多node應(yīng)用管理的繁瑣任務(wù),如性能監(jiān)控、自動(dòng)重啟、負(fù)載均衡等,而且使用非常簡(jiǎn)單。
全局安裝
npm install -g pm2
挑express應(yīng)用來(lái)舉例。一般我們都是通過(guò)npm start啟動(dòng)應(yīng)用,其實(shí)就是調(diào)用node ./bin/www。那么,換成pm2就是
注意,這里用了–watch參數(shù),意味著當(dāng)你的express應(yīng)用代碼發(fā)生變化時(shí),pm2會(huì)幫你重啟服務(wù)(長(zhǎng)時(shí)間監(jiān)測(cè)有可能會(huì)出現(xiàn)問題,這時(shí)需要重啟項(xiàng)目)
pm2 start ./bin/www –watch
參數(shù)說(shuō)明:
–watch:監(jiān)聽?wèi)?yīng)用目錄的變化,一旦發(fā)生變化,自動(dòng)重啟。如果要精確監(jiān)聽、不見聽的目錄,最好通過(guò)配置文件。
-i –instances:?jiǎn)⒂枚嗌賯€(gè)實(shí)例,可用于負(fù)載均衡。如果-i 0或者-i max,則根據(jù)當(dāng)前機(jī)器核數(shù)確定實(shí)例數(shù)目。
–ignore-watch:排除監(jiān)聽的目錄/文件,可以是特定的文件名,也可以是正則。比如–ignore-watch=”test node_modules “some scripts”“
-n –name:應(yīng)用的名稱。查看應(yīng)用信息的時(shí)候可以用到。
-o –output :標(biāo)準(zhǔn)輸出日志文件的路徑。
-e –error :錯(cuò)誤輸出日志文件的路徑。
–interpreter :the interpreter pm2 should use for executing app (bash, python…)。比如你用的coffee script來(lái)編寫應(yīng)用。
完整命令行參數(shù)列表:地址
pm2 start app.js –watch -i 2
pm2 restart app.js
停止特定的應(yīng)用??梢韵韧ㄟ^(guò)pm2 list獲取應(yīng)用的名字(–name指定的)或者進(jìn)程id。
pm2 stop app_name|app_id
如果要停止所有應(yīng)用,可以
pm2 stop all
pm2 stop app_name|app_id
pm2 stop all
pm2 list
pm2 start app.js –watch
*這里是監(jiān)控整個(gè)項(xiàng)目的文件
除了可以打開日志文件查看日志外,還可以通過(guò)pm2 logs來(lái)查看實(shí)時(shí)日志。
pm2 logs
pm2 save # 記得保存進(jìn)程狀態(tài)
npm install pm2 -g
pm2 update
附pm2命令:
$ npm install pm2 -g # 命令行安裝 pm2 $ pm2 start app.js -i 4 # 后臺(tái)運(yùn)行pm2,啟動(dòng)4個(gè)app.js # 也可以把'max' 參數(shù)傳遞給 start # 正確的進(jìn)程數(shù)目依賴于Cpu的核心數(shù)目 $ pm2 start app.js --name my-api # 命名進(jìn)程 $ pm2 list # 顯示所有進(jìn)程狀態(tài) $ pm2 monit # 監(jiān)視所有進(jìn)程 $ pm2 logs # 顯示所有進(jìn)程日志 $ pm2 stop all # 停止所有進(jìn)程 $ pm2 restart all # 重啟所有進(jìn)程 $ pm2 reload all # 0 秒停機(jī)重載進(jìn)程 (用于 NETWORKED 進(jìn)程) $ pm2 stop 0 # 停止指定的進(jìn)程 $ pm2 restart 0 # 重啟指定的進(jìn)程 $ pm2 startup # 產(chǎn)生 init 腳本 保持進(jìn)程活著 $ pm2 web # 運(yùn)行健壯的 computer API endpoint (http://localhost:9615) $ pm2 delete 0 # 殺死指定的進(jìn)程 $ pm2 delete all # 殺死全部進(jìn)程
藍(lán)藍(lán)設(shè)計(jì)建立了UI設(shè)計(jì)分享群,每天會(huì)分享國(guó)內(nèi)外的一些優(yōu)秀設(shè)計(jì),如果有興趣的話,可以進(jìn)入一起成長(zhǎng)學(xué)習(xí),請(qǐng)掃碼藍(lán)小助,報(bào)下信息,藍(lán)小助會(huì)請(qǐng)您入群。歡迎您加入噢~~希望得到建議咨詢、商務(wù)合作,也請(qǐng)與我們聯(lián)系。
文章來(lái)源:博客園
分享此文一切功德,皆悉回向給文章原作者及眾讀者.免責(zé)聲明:藍(lán)藍(lán)設(shè)計(jì)尊重原作者,文章的版權(quán)歸原作者。如涉及版權(quán)問題,請(qǐng)及時(shí)與我們?nèi)〉寐?lián)系,我們立即更正或刪除。藍(lán)藍(lán)設(shè)計(jì)( www.88yangsc.com )是一家專注而深入的界面設(shè)計(jì)公司,為期望卓越的國(guó)內(nèi)外企業(yè)提供卓越的UI界面設(shè)計(jì)、BS界面設(shè)計(jì) 、 cs界面設(shè)計(jì) 、 ipad界面設(shè)計(jì) 、 包裝設(shè)計(jì) 、 圖標(biāo)定制 、 用戶體驗(yàn) 、交互設(shè)計(jì)、 網(wǎng)站建設(shè) 、平面設(shè)計(jì)服務(wù)
藍(lán)藍(lán)設(shè)計(jì)的小編 http://www.88yangsc.com