1.)node守護進程比較node
nodemon:開發環境使用,修改後自動重啓。
forever:管理多個站點,每一個站點訪問量不大,不須要監控。
pm2:網站訪問量比較大,須要完整的監控界面。
2.)pm2主要特性npm
內建負載均衡(使用Node cluster 集羣模塊)
後臺運行
0秒停機重載
開機自啓動腳本
中止不穩定的進程(避免無限循環)
控制檯檢測
提供遠程控制和實時的接口API (容許和PM2進程管理器交互)
1.)安裝json
$ npm install -g pm2
若pm2 -v 不起做用,把node目錄下bin添加到PATH路徑裏
2.)單個啓動bash
$ pm2 start app.js # 啓動 $ pm2 start app.js -i 4 # 啓動4個應用實例,自動負載均衡 # 監聽文件變化,配合pm2 logs,方便本地開發 $ pm2 start app.js --watch
3.)批量啓動app
新建.json文件如server.json,配置以下:
{ "apps": [{ "name": "appA", "script": "./appA.js", "watch": false }, { "name": "appB", "script": "./appB.js", "watch": false }] } ---------------------------------- # 再執行: $ pm2 start server.json
批量啓動是以restart模式啓動,能夠屢次執行
4.)重啓負載均衡
$ pm2 restart app_name|app_id # 重啓 $ pm2 restart all # 重啓全部進程,至關stop+start $ pm2 reload all # 0秒停機重載進程 (用於不間斷進程)
5.)查看網站
$ pm2 list # 查看進程 $ pm2 logs # 查看日誌 $ pm2 show app_name|app_id # 查看進程詳情 $ pm2 monit # 查看CPU和內存資源佔用
6.)中止rest
$ pm2 stop app_name|app_id $ pm2 stop all # 中止全部
7.)刪除日誌
$ pm2 delete app_name|app_id # 從列表中刪除指定的進程 $ pm2 delete all # 從列表中刪除所有進程 $ pm2 kill # 殺死守護進程
8.)開機自啓動code
$ pm2 startup # 建立開機自啓動命令 $ pm2 save # 保存當前應用列表 $ pm2 resurrect # 從新加載保存的應用列表 $ pm2 unstartup # 移除開機自啓動
9.)pm2更新
$ pm2 save # 保存當前應用列表 $ npm install pm2 -g $ pm2 update