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