国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

nodeJS進程管理器pm2的使用

2019-11-19 12:18:25
字體:
來源:轉載
供稿:網友

pm2是一個帶有負載均衡功能的Node應用的進程管理器。當你要把你的獨立代碼利用全部的服務器上的所有CPU,并保證進程永遠都活著,0秒的重載, PM2是完美的。

PM2是開源的基于Nodejs的進程管理器,包括守護進程,監控,日志的一整套完整的功能,基本是Nodejs應用程序不二的守護進程選擇,事實上它并不僅僅可以啟動Nodejs的程序,只要是一般的腳本的程序它同樣可以勝任。

主要特性:

  • 內建負載均衡(使用Node cluster 集群模塊)
  • 后臺運行
  • 0秒停機重載(這項功能允許你重新載入代碼而不用失去請求連接。)
  • 具有Ubuntu和CentOS 的啟動腳本
  • 停止不穩定的進程(避免無限循環)
  • 控制臺檢測
  • 提供 HTTP API
  • 遠程控制和實時的接口API ( Nodejs 模塊,允許和PM2進程管理器交互 )

使用環境:

  • 僅能用于web應用
  • 運行于Node 0.11.x版本
  • 運行于 cluster 模式(默認模式)

安裝

npm install -g pm2

pm2安裝好后,會自動創建下面目錄:

/.pm2 /.pm2/logs  /.pm2/pids /.pm2/pm2.log /.pm2/pm2.pid /.pm2/rpc.sock /.pm2/pub.sock /.pm2/conf.js

用法

npm install pm2 -g          # 命令行安裝 pm2 pm2 start app.js -i 4        #后臺運行pm2,啟動4個app.js                         # 也可以把'max' 參數傳遞給 start                        # 正確的進程數目依賴于Cpu的核心數目pm2 start app.js --name my-api # 命名進程pm2 list                 # 顯示所有進程狀態pm2 monit                # 監視所有進程pm2 logs                 # 顯示所有進程日志pm2 stop all               # 停止所有進程pm2 restart all             # 重啟所有進程pm2 reload all              # 0秒停機重載進程 (用于 NETWORKED 進程)pm2 stop 0                # 停止指定的進程pm2 restart 0              # 重啟指定的進程pm2 startup               # 產生 init 腳本 保持進程活著pm2 web                 # 運行健壯的 computer API endpoint (http://localhost:9615)pm2 delete 0               # 殺死指定的進程pm2 delete all              # 殺死全部進程

運行進程的不同方式:

$ pm2 start app.js -i max # 根據有效CPU數目啟動最大進程數目$ 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 并且傳遞參數 (-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 傳遞參數$ pm2 start app.js -i max -e err.log -o out.log # 啟動 并 生成一個配置文件你也可以執行用其他語言編寫的app ( fork 模式):$ pm2 start my-bash-script.sh  -x --interpreter bash$ pm2 start my-python-script.py -x --interpreter python

pm2 list

列出由pm2管理的所有進程信息,還會顯示一個進程會被啟動多少次,因為沒處理的異常。

pm2 monit

監視每個node進程的CPU和內存的使用情況。

入門教程

挑我們最愛的express應用來舉例。一般我們都是通過npm start啟動應用,其實就是調用node ./bin/www。那么,換成pm2就是

pm2 start ./bin/www 

主站蜘蛛池模板:
嘉祥县|
阳朔县|
京山县|
屏东市|
灵山县|
台南县|
岚皋县|
五寨县|
湟中县|
枣阳市|
固原市|
乳山市|
承德县|
万源市|
蒙城县|
邵阳市|
建阳市|
临夏市|
南乐县|
吉木萨尔县|
沅江市|
彭山县|
永靖县|
渝中区|
绿春县|
水城县|
迭部县|
隆回县|
尚义县|
长武县|
若尔盖县|
沭阳县|
北川|
西林县|
沽源县|
茶陵县|
中西区|
乌兰县|
北宁市|
沂源县|
洪湖市|