nodejs安裝:http://www.javashuo.com/article/p-emzfuudt-be.htmlhtml
nodejs 進程管理器 pm2 的使用 node
PM2 是一款很是優秀的 Node 進程管理工具,它有着豐富的特性:可以充分利用多核 CPU 且可以負載均衡、可以幫助應用在崩潰後、指定時間(cluster model)和超出最大內存限制 等狀況下實現自動重啓。 npm
PM2 是開源的基於 Nodejs 的進程管理器,包括守護進程,監控,日誌的一整套完整的功能。 app
PM2 的主要特性: 負載均衡
1、內建負載均衡(使用 Node cluster 集羣模塊)
2、後臺運行
3、0 秒停機重載,我理解大概意思是維護升級的時候不須要停機. 4、具備 Ubuntu 和 CentOS 的啓動腳本 5、中止不穩定的進程(避免無限循環)
6、控制檯檢測 koa
PM2 的常見命令:
1、pm2 的安裝
async
npm install pm2 -g # 命令行安裝 pm2
2、運行 pm2 的程序並指定 name 工具
pm2 start app.js --name www_aaa_com pm2 start app.js -i 3 --name www_bbb_com 3 啓動 3 個進程 (自帶負載均衡)
3、顯示全部進程狀態 測試
pm2 list
4、顯示全部進程狀態 ui
pm2 logs
五、顯示一個進程的日誌
的日誌 pm2 logs www_aaa_com
6、關閉重啓全部進程
pm2 stop all# 中止全部進程
pm2 restart all# 重啓全部進程
pm2 reload all # 0 秒停機重載進程 (用於 NETWORKED 進程)
7、關閉重啓指定進程
pm2 stop 0 # 中止指定的進程 pm2 restart 0 # 重啓指定的進程 pm2 stop www_aaa_com pm2 restart www_aaa_com
8、殺死進程
m2 delete 0 # 殺死指定的進程
pm2 delete all # 殺死所有進程
pm2 delete www_aaa_com # 殺死指定名字的進程
10、顯示相應進程/應用的整體信息
pm2 show www_aaa_com
測試演示過程說明:
到home下,建立www_aaa_com 和www_bbb_com 文件夾,將項目代碼分別拷貝進去
用cnpm(gzip 壓縮支持) 命令行工具代替默認的 npm
:
npm install -g cnpm --registry=https://registry.npm.taobao.org
而後cnpm install 安裝環境依賴
www_aaa_com app.js代碼:
//引入 koa模塊 var Koa=require('koa'); var router = require('koa-router')(); /*引入是實例化路由** 推薦*/ //實例化 var app=new Koa(); router.get('/',async (ctx)=>{ console.log('aaaa執行'); ctx.body="這是www_aaa_com的首頁"; }) router.get('/news',async (ctx)=>{ ctx.body="這是www_aaa_com的新聞列表頁面"; }) app.use(router.routes()); /*啓動路由*/ app.use(router.allowedMethods()); app.listen(3001);
www_bbb_com 中app.js代碼:
//引入 koa模塊 var Koa=require('koa'); var router = require('koa-router')(); /*引入是實例化路由** 推薦*/ //實例化 var app=new Koa(); router.get('/',async (ctx)=>{ console.log('bbb執行'); ctx.body="這是www_bbb_com的首頁111111111111"; }) router.get('/news',async (ctx)=>{ ctx.body="這是www_bbb_com的新聞列表頁面"; }) app.use(router.routes()); /*啓動路由*/ app.use(router.allowedMethods()); app.listen(3002);
關閉防火牆
systemctl stop firewalld
在對應的目錄下,分別用pm2啓動項目
pm2 start app.js --name www_aaa_com
pm2 start app.js --name www_bbb_com