1. 程式人生 > >Node應用程序管理器pm2的使用

Node應用程序管理器pm2的使用

本文轉載自:豆瓣-PM2介紹
更多內容見github上的pm2說明文件pm2

pm2 是一個帶有負載均衡功能的Node應用的程序管理器.
當你要把你的獨立程式碼利用全部的伺服器上的所有CPU,並保證程序永遠都活著,0秒的過載, PM2是完美的。它非常適合IaaS結構,但不要把它用於PaaS方案(隨後將開發Paas的解決方案).

備註:
SaaS、PaaS和IaaS是雲服務模式。
SaaS 軟體即服務,例如Google的 Gmail 郵箱服務.面向應用型使用者.
PaaS 平臺即服務.例如Google的GAE,面向開發型使用者
IaaS 基礎架構即服務,例如亞馬遜的AWS,IaaS對於不知道新推出的應用程式/網站會有多成功的創業公司來說非常有用
請參考

雲服務模式:SaaS、PaaS和IaaS,哪一種適合你?

主要特性:
* 內建負載均衡(使用Node cluster 叢集模組)
* 後臺執行
* 0秒停機過載,我理解大概意思是維護升級的時候不需要停機.
* 具有Ubuntu和CentOS 的啟動指令碼
* 停止不穩定的程序(避免無限迴圈)
* 控制檯檢測
* 提供 HTTP API
* 遠端控制和實時的介面API ( Nodejs 模組,允許和PM2程序管理器互動 )

安裝
npm install -g pm2

用法

$ 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

0秒停機過載:這項功能允許你重新載入程式碼而不用失去請求連線。
注意:
僅能用於web應用
運行於Node 0.11.x版本
運行於 cluster 模式(預設模式)
$ pm2 reload all

相關推薦

Node應用程序管理pm2的使用

本文轉載自:豆瓣-PM2介紹 更多內容見github上的pm2說明文件pm2 pm2 是一個帶有負載均衡功能的Node應用的程序管理器. 當你要把你的獨立程式碼利用全部的伺服器上的所有CPU,並保證程序永遠都活著,0秒的過載, PM2是完美的。它非常適合I

pm2-Node應用程序管理

pm2 是一個帶有負載均衡功能的Node應用的程序管理器。當你要把你的獨立程式碼利用全部的伺服器上的所有CPU,並保證程序永遠都活著,0秒的過載, PM2是完美的。安裝npm install -g pm2 用法$ npm install pm2 -g # 命令列安裝

Node線上部署管理PM2

複製來源:http://www.thinkphp.cn/topic/34936.html 更多web前端學習分享:http://www.leixuesong.cn/category/webPM2是一個帶有負載均衡功能的Node應用的程序管理器。PM2可以利用伺服器上的所

node程序管理神器——PM2(值得收藏)

PM2作為小鄒一直在使用的node程序管理軟體,我自己心裡是感覺非常方便,它在解決node中間層程序異常方面有著不小的功勞,下面小鄒就它的兩種使用模式給大夥講解一下(文章同步自小鄒的頭條號:滬漂程式設計師的生活史): 執行模式 fork_mode cluster_mode

node程序管理pm2(持續更新)

pm2是nodejs的程序管理器. 官網地址 安裝 此處為使用cnpm全域性安裝 cnpm i pm2 -g 基本使用 注意, 這裡都是在專案根目錄下執行的 在使用pm2之前, 一個koa2的hello world執行是這樣的: n

[navicat premium] [IM002] [Microsoft][ODBC 驅動程序管理] 未發現數據源名稱並且未指定默認驅動程序

bsp 數據源 style 管理 back sqlserve x64 soft 程序管理 navicat premium 鏈接sqlserver [IM002] [Microsoft][ODBC 驅動程序管理器] 未發現數據源名稱並且未指定默認驅動程序 安裝navi

java.sql.SQLException: [Microsoft][ODBC 驅動程序管理] 未發現數據源名稱而且未指定默認驅動程序解決方法

成功 access exception div 數據庫 java 配置 題解 調用 開發程序須要登錄功能 。就不想用大數據庫。直接用java連接access。 在自己機器上一切正常, url直連 和配置數據源都沒有問題。 公布到windows serve

WEB服務應用程序服務、HTTP服務區別

一個 到你 文章 配置 通過 http ring fun 內容   WEB服務器、應用程序服務器、HTTP服務器有何區別?IIS、Apache、Tomcat、Weblogic、WebSphere都各屬於哪種服務器,這些問題困惑了很久,今天終於梳理清楚了: Web服務

9.Node.js 包管理npm

poi error 控制 rip amp echo spec .json 安裝 npm 是 Node.js 官方提供的包管理工具, 用於 Node.js包的發布、傳播、依賴控制 安裝 express ==> 流行的基於Node.js的Web開發框架,可以快速地搭建一

web服務應用程序服務,http服務的區別

itWEB服務器、應用程序服務器、HTTP服務器有何區別?IIS、Apache、Tomcat、Weblogic、WebSphere都各屬於哪種服務器? 這個概念很重要。 Web服務器的基本功能就是提供Web信息瀏覽服務。它只需支持HTTP協議、HTML文檔格式及URL。與客戶端的瀏覽器配合。因為Web服務器主

centos7下部署node應用程序

http nbsp load ali 需要 執行 error etc www 一、安裝node 二、安裝nginx 三、使用express寫一個簡單的demo,並且使用pm2部署 四、錯誤 invalid PID number "" in "/run/nginx.pid"

Palo通過supervisor進行程序管理 CentOS7 安裝supervisor守護程序管理

下面一段文字是摘自doris官方文件:注:在生產環境中,所有例項都應使用守護程序啟動,以保證程序退出後,會被自動拉起,如 Supervisor。如需使用守護程序啟動,需要修改各個 start_xx.sh 指令碼,去掉最後的 & 符號 首先安裝supervisor,具體請參照本人的另一篇部落格Cent

Node 多版本管理n

Node 多版本管理器(Node VersionManager,nvm)是一個通用的叫法,它目前有許多不同的實現。 我喜歡用n管理器,沒錯,名字就是一個字母n(https://github.com/visionmedia/n) [[email protected] etc]$ cn

node.js 安裝及配置(hello world)及 node 的包管理(npm)

安裝時,會自動將 node 可執行檔案路徑新增進 Path 內,這樣進入 cmd 命令列,以檢視 node 的安裝版本: >> node -v v8.9.3 1. hello

應用管理詳細介紹

/** * 獲取應用層視窗管理器 * @param mContext * @return */ public static WindowManager getWindowManager(Context mContext) { WindowMana

獲取 window任務欄已經打開應用程序窗口(也就是任務管理中前臺進程)的圖標

public name rgs ges pub 集合 icon pid 完整 獲取 window任務欄已經打開應用程序窗口(也就是任務管理器中前臺進程)的圖標 1.功能描述 獲取到window任務欄已經打開的應用程序的窗口圖標。如下:(要獲取到QQ,瀏覽器,文件夾的圖

OpenSUSE Leap 42.3下通過Firefox Opera Chromium瀏覽器直接執行java應用程序(打開java jnlp文件)實現在服務遠程虛擬控制臺完成遠程管理的方法

build 自定義 1.8 jnl use 信息 server run java應用 遠程虛擬控制臺依賴於java運行環境(jre),在通過瀏覽器打開鏈接前,系統必須安裝jre環境,遠程管理控制臺其實就是一個java程序,打開相應的網站會下載一個jnlp(java網絡加

linux(centOS)下搭建node伺服器三、 pm2管理和保持後臺執行node應用

一、安裝pm2 全域性安裝pm2: npm install -g pm2 安裝完成檢視幫助命令(pm2 -h)報錯: -bash:pm2:command not found 執行: ln

[VC] 解決編譯出來的Win32應用程序(*.exe)在資源管理裏不能顯示大圖標和超大圖標的問題

資源管理 alt 創建 inf com 應該 問題 保存 點擊 我們在Visual Studio創建Win32項目後一般會給它添加圖標: 可是這裏有個很大的問題,就是不管你有沒有修改這個圖標,只要保存了,Visual Studio就會修改這個圖標,這是點擊保存前後的i

WIN10打開資源管理顯示該文件沒有與之關聯的程序來執行該操作.請安裝應用,請在“默認應用設置”..關聯 —— 解決方案

shell oot int dll 管理器 clas -s 中新 箭頭 win+R,輸入regedit,分別在HKEY_CLASSES_ROOT\piffileHKEY_CLASSES_ROOT\InternetShortcutHKEY_CLASSES_ROOT\lnkfi