pm2到底是什么呢冗锁?你真的了解嗎

一嗤栓、PM2是什么

  • pm2是可以用于生產(chǎn)環(huán)境的Nodejs的進程管理工具,并且它內(nèi)置一個負載均衡叨叙。它不僅可以保證服務(wù)不會中斷一直在線堪澎,并且提供0秒reload功能,還有其他一系列進程管理樱蛤、監(jiān)控功能。并且使用起來非常簡單行楞。
  • 嗯嗯,最好的用處就是監(jiān)控我們的生產(chǎn)環(huán)境下的node程序運行狀態(tài)子房,讓它給我們?nèi)找岳^日的處于工作狀態(tài)就轧。
  • pm2官方文檔

二、為什么要使用pm2

  • 原始社會的我們開發(fā)node服務(wù)端程序一般過程:
    • 編寫好node程序app.js解愤,運行node app.js;或者寫入script使用npm運行;打開瀏覽器訪問送讲;
    • 好像需要修改內(nèi)容惋啃,瀏覽器對修改的內(nèi)容沒有顯示出來?->node app.js->再次運行边灭;
    • 瀏覽器忽然訪問不到服務(wù),好像出錯啦绒瘦?重啟下->node app.js->再次運行称簿;
    • 哎呀開了好多控制臺窗口扣癣,一不小心關(guān)閉了,服務(wù)又訪問不到了憨降,繼續(xù)打開控制臺->node app.js->再次運行父虑;
  • 好崩潰!好像有個工具nodemon授药;安裝使用nodemon app.js;哇频轿,可以自動監(jiān)聽文件修改變化自動重啟,但是關(guān)閉控制臺服務(wù)還是會被摧毀烁焙。
  • 通過這個很常用的場景航邢,我們了解到要避免這些麻煩一個服務(wù)器至少需要有:后臺運行和自動重啟,這兩個能力骄蝇。
  • 再來看看使用pm2可擁有的能力:
    • 日志管理膳殷;兩種日志,pm2系統(tǒng)日志與管理的進程日志九火,默認會把進程的控制臺輸出記錄到日志中岔激;
    • 負載均衡:PM2可以通過創(chuàng)建共享同一服務(wù)器端口的多個子進程來擴展您的應(yīng)用程序虑鼎。這樣做還允許以零秒停機時間重新啟動應(yīng)用程序炫彩。
    • 終端監(jiān)控:可以在終端中監(jiān)控應(yīng)用程序并檢查應(yīng)用程序運行狀況(CPU使用率江兢,使用的內(nèi)存,請求/分鐘等)邑贴。
    • SSH部署:自動部署拢驾,避免逐個在所有服務(wù)器中進行ssh独旷。
    • 靜態(tài)服務(wù):支持靜態(tài)服務(wù)器功能
    • 支持開發(fā)調(diào)試模式寥裂,非后臺運行封恰,pm2-dev start <appName>诺舔;
    • 。许昨。糕档。速那。端仰。太過強大荔烧!

三茴晋、pm2常用命令

啟動服務(wù)pm2 start <script_file|config_file> [options]啟動指定應(yīng)用

1. 啟動一個node程序

  pm2 start app.js        //啟動app.js應(yīng)用

2. 啟動進程并指定應(yīng)用的程序名

  pm2 start app.js --name 程序名          //啟動應(yīng)用并設(shè)置name

3. 添加進程監(jiān)視

監(jiān)聽模式啟動诺擅,當(dāng)文件發(fā)生變化烁涌,自動重啟

  pm2 start app.js --name 程序名 --watch(指定程序名的情況下)

  pm2 start app.js --watch (未指定程序名的情況下)

4. 列出所有進程

  pm2 list

  pm2 ls  // 簡寫

5. 從進程列表中刪除進程

  pm2 delete [appname] | id

  pm2 delete app  // 指定進程名刪除

   pm2 delete 0    // 指定進程id刪除

如果修改了應(yīng)用配置行為,需要先刪除應(yīng)用舷丹,重新啟動后方才會生效,如修改腳本入口文件仗扬;

6. 刪除進程列表中所有進程

pm2 delete all(關(guān)閉并刪除應(yīng)用) 

7. 查看某個進程具體情況

   pm2 describe app

8. 查看進程的資源消耗情況

   pm2 monit( 監(jiān)控各個應(yīng)用進程cpu和memory使用情況)

9. 重啟進程

  pm2 restart app.js    //同時殺死并重啟所有進程早芭,短時間內(nèi)服務(wù)不可用,生成環(huán)境慎用

  pm2 restart all     // 重啟所有進程

  pm2 reload app.js    //重新啟動所有進程退个,0秒重啟语盈,始終保持至少一個進程在運行 

  pm2 gracefulReload all  //以群集模式重新加載所有應(yīng)用程序

10. 查看進程日志

   pm2 logs [Name]  //根據(jù)指定應(yīng)用名查看應(yīng)用日志

    pm2 logs [ID]   //根據(jù)指定應(yīng)用ID查看應(yīng)用日志

    pm2 logs all    // 查看所有進程的日志

11. 顯示應(yīng)用程序詳細信息pm2 show <appName> [options] 顯示指定應(yīng)用詳情

  pm2 show [Name]   //根據(jù)name查看

  pm2 show [ID]    //根據(jù)id查看

12. 停止指定應(yīng)用pm2 stop <appName> [options] 停止指定應(yīng)用

  pm2 stop all        //停止所有應(yīng)用

  pm2 stop [AppName]    //根據(jù)應(yīng)用名停止指定應(yīng)用

  pm2 stop [ID]       //根據(jù)應(yīng)用id停止指定應(yīng)用

13. 殺掉pm2管理的所有進程

    pm2 kill 

14. 啟動靜態(tài)服務(wù)器,將目錄dist作為靜態(tài)服務(wù)器根目錄黎烈,端口為8080

   pm2 serve ./dist 8080

15. 集群模式啟動
-i 表示 number-instances 實例數(shù)量
max 表示 PM2將自動檢測可用CPU的數(shù)量 可以自己指定數(shù)量

   pm2 start app.js -i max //啟用群集模式(自動負載均衡)

16.開發(fā)模式啟動,即不啟用后臺運行

   pm2-dev start ...  

17. 設(shè)置pm2開機自啟

開啟啟動設(shè)置武翎,此處是CentOS系統(tǒng)符隙,其他系統(tǒng)替換最后一個選項(可選項:ubuntu, centos, redhat, gentoo, systemd, darwin, amazon)

  pm2 startup centos 

然后按照提示需要輸入的命令進行輸入

最后保存設(shè)置

  pm2 save

pm2部署可參考:https://www.cnblogs.com/zhenfeng95/p/12853806.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末霹疫,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子膀藐,更是在濱河造成了極大的恐慌额各,老刑警劉巖虾啦,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異呻率,居然都是意外死亡,警方通過查閱死者的電腦和手機苞七,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進店門蹂风,熙熙樓的掌柜王于貴愁眉苦臉地迎上來惠啄,“玉大人撵渡,你說我怎么就攤上這事趋距〗诟” “怎么了翼雀?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵狼渊,是天一觀的道長囤锉。 經(jīng)常有香客問我官地,道長驱入,這世上最難降的妖魔是什么莺褒? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任遵岩,我火速辦了婚禮,結(jié)果婚禮上宴凉,老公的妹妹穿的比我還像新娘弥锄。我一直安慰自己籽暇,他們只是感情好罐盔,可當(dāng)我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著六孵,像睡著了一般劫窒。 火紅的嫁衣襯著肌膚如雪冠息。 梳的紋絲不亂的頭發(fā)上逛艰,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天菇绵,我揣著相機與錄音咬最,去河邊找鬼永乌。 笑死翅雏,一個胖子當(dāng)著我的面吹牛枚荣,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播祈坠,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼躺同!你這毒婦竟也來了蹋艺?” 一聲冷哼從身側(cè)響起捎谨,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎检吆,沒想到半個月后咧栗,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體致板,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡素征,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了端蛆。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖捶索,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情辅甥,我是刑警寧澤璃弄,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站拨扶,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏匹颤。R本人自食惡果不足惜印蓖,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一溅蛉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦袁梗、人聲如沸围段。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谒获。三九已至批狱,卻和暖如春赔硫,著一層夾襖步出監(jiān)牢的瞬間权悟,已是汗流浹背峦阁。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留件豌,地道東北人茧彤。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像珠洗,于是被迫代替她去往敵國和親许蓖。 傳聞我的和親對象是個殘疾皇子膊爪,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,486評論 2 348