Nodejs學習筆記(十三)—PM2

簡介

  PM2html

  pm2是一個內置負載均衡的node.js應用進程管理器(也支持Windows),其它的相似功能也有很多,可是感受pm2功能更強,更值的推薦node

  GitHub地址:https://github.com/Unitech/pm2
git

  API Docs:http://pm2.keymetrics.io/docs/usage/cluster-mode/github

  NPM地址:https://www.npmjs.com/package/pm2 web

  使用體會:
 
  1.簡單易用、後臺運行、快速部署,經常使用到的命令就幾個
 
  2.可輕鬆集羣模式啓動
 
  3.能夠無宕機重暫應用程序,保持不斷鏈接的狀況下輕鬆重載代碼
 
  4.完善的日誌
 
  5.自動中止不穩定的進程
 
  6.保活應用程序
 
  ….

pm2安裝

  官方安裝說明: http://pm2.keymetrics.io/docs/usage/quick-start/express

npm install pm2 -g

  安裝成功以下圖npm

  查看版本api

pm2 -v

  各平臺安裝方法一致app

 

操做

  我這裏有個express的web項目:pm2sample,端口是11111負載均衡

啓動

pm2 start app.js

  成功以下圖

  這樣就能夠經過http://localhost:11111 來訪問

關閉

pm2 stop 0

  爲何stop後是0? 從上圖能夠看出進程ID爲0,因此經過進程ID能夠關閉,而後這種方式不易記,下面我看看其它方式啓動和關閉

其它方式啓動/關閉

  啓動項目,並命名一個應用程序名

pm2 start app.js --name test

  啓動後結果以下圖,你能夠看到App name 

  根據App name關閉項目

pm2 stop test

  能夠自行試一下效果,關閉成功!

從PM2中刪除

pm2 delete test

  固然也能夠pm2 delete 進程ID 

重載和重啓

  當應用程序代碼有更新,能夠用重載來加載新代碼,也能夠用重啓來完成

pm2 reload test
pm2 restart test

  reload能夠作到0秒宕機加載新的代碼,restart則是從新啓動,生產環境中多用reload來完成代碼更新!

查看詳情  

pm2 show test

  輸出以下圖

  經過查看詳情就能夠看到不少有用信息,包含日誌和錯誤輸出的文件路徑(感受日誌是用的比較多的)  

多項目操做

  上面是單項目操做,多項目操做是如何呢?

  啓動其它項目也如上面命令,我新啓一個項目:pm2sample2(端口爲11112)

cd 項目目錄
pm2 start app.js --name test2

  啓動後以下圖

  想要對這2個項目進行批量操做(多個也同樣),以下(重加載所有/中止所有/重啓所有/刪除所有)

pm2 reload all
pm2 stop all
pm2 restart all
pm2 delete all

 

集羣

  上面從圖中能夠看出mode是「fork」

  開發環境中多以fork的方式啓動,生產環境中多用cluster方式啓動

  啓動方式

pm2 start app.js -i 2 --name test

  這表示啓動2個並命名爲test,在後臺以cluster方式運行

  從上圖能夠看出mode爲「cluster」方式,其它操做就能夠經過上面用過的方式去啓動、關閉、重載、重啓、刪除

  

其它操做

  watching

  上面的示例圖中能夠看一「watching」一項,這個項默認是disabled,能夠經過以下命令開啓

pm2 start app.js --name test --watch

  上面的命令中啓去吧了test項目並開啓了watching,這個用處主要更新代碼後,不用重載或重啓項目便可以當即讓更新的代碼起做用

  建議:這個適合在開發時用,能夠省很多時間,生產環境下最好不要用

  list

pm2 list

  能夠列出pm2中全部項目

  monit

pm2 monit

   用monit能夠打開實時監視器去查看資源佔用狀況

  logs

pm2 logs

  經過上面命令能夠實時查看日誌輸出狀況(固然,我更習慣去日誌文件裏看)

 

寫在以後

  本篇主要對PM2經常使用命令進行說明

  PM2還有其它不少其它功能,能夠經過上面提供的api連接去查看

  可是基本用上面這些命令就夠了,如今項目中就用的PM2,感受仍是不錯,用於生產環境徹底沒問題!

 

此係列的源代碼可到http://bijian1013.iteye.com/blog/2425085下載。 

文章來源:https://www.cnblogs.com/zhongweiv/p/pm2.html

相關文章
相關標籤/搜索