java 类似于pm2_[Java教程]Nodejs学习笔记(十三)— PM2

[Java教程]Nodejs学习笔记(十三)— PM2

0 2016-03-22 16:00:04

目录简介

pm2安装

操作启动

关闭

其它方式启动/关闭

从PM2中删除

重载和重启

查看详细信息

多项目操作

集群

其它操作

写在之后...

简介

PM2

pm2是一个内置负载均衡的node.js应用进程管理器(也支持Windows),其它的类似功能也有不少,但是感觉pm2功能更强,更值的推荐

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

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

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

pm2安装

官方安装说明: http://pm2.keymetrics.io/docs/usage/quick-start/npm install pm2 -g

安装成功如下图bc91bb04e6e9c61e24c974e4440db8f2.gif

查看版本pm2 -v

各平台安装方法一致

操作

我这里有个express的web项目:pm2sample,端口是11111

启动pm2 start app.js

成功如下图bc91bb04e6e9c61e24c974e4440db8f2.gif

这样就可以通过http://localhost:11111 来访问

关闭pm2 stop 0

为什么stop后是0? 从上图可以看出进程ID为0,所以通过进程ID可以关闭,然后这种方式不易记,下面我看看其它方式启动和关闭

其它方式启动/关闭

启动项目,并命名一个应用程序名pm2 start app.js --name test

启动后结果如下图,你可以看到App namebc91bb04e6e9c61e24c974e4440db8f2.gif

根据App name关闭项目pm2 stop test

可以自行试一下效果,关闭成功!

从PM2中删除pm2 delete test

当然也可以pm2 delete 进程ID

重载和重启

当应用程序代码有更新,可以用重载来加载新代码,也可以用重启来完成pm2 reload testpm2 restart test

reload可以做到0秒宕机加载新的代码,restart则是重新启动,生产环境中多用reload来完成代码更新!

查看详情pm2 show test

输出如下图bc91bb04e6e9c61e24c974e4440db8f2.gif

通过查看详情就可以看到很多有用信息,包含日志和错误输出的文件路径(感觉日志是用的比较多的)

多项目操作

上面是单项目操作,多项目操作是如何呢?

启动其它项目也如上面命令,我新启一个项目:pm2sample2(端口为11112)cd 项目目录pm2 start app.js --name test2

启动后如下图bc91bb04e6e9c61e24c974e4440db8f2.gif

想要对这2个项目进行批量操作(多个也一样),如下(重加载全部/停止全部/重启全部/删除全部)pm2 reload allpm2 stop allpm2 restart allpm2 delete all

集群

上面从图中可以看出mode是“fork”

开发环境中多以fork的方式启动,生产环境中多用cluster方式启动

启动方式pm2 start app.js -i 2 --name test

这表示启动2个并命名为test,在后台以cluster方式运行bc91bb04e6e9c61e24c974e4440db8f2.gif

从上图可以看出mode为“cluster”方式,其它操作就可以通过上面用过的方式去启动、关闭、重载、重启、删除

其它操作

watching

上面的示例图中可以看一“watching”一项,这个项默认是disabled,可以通过如下命令开启pm2 start app.js --name test --watch

上面的命令中启去吧了test项目并开启了watching,这个用处主要更新代码后,不用重载或重启项目即可以立即让更新的代码起作用

建议:这个适合在开发时用,可以省不少时间,生产环境下最好不要用

listpm2 list

可以列出pm2中所有项目

monitpm2 monic

bc91bb04e6e9c61e24c974e4440db8f2.gif

用monit可以打开实时监视器去查看资源占用情况

logspm2 logs

通过上面命令可以实时查看日志输出情况(当然,我更习惯去日志文件里看)

写在之后...

本篇主要对PM2常用命令进行说明

PM2还有其它很多其它功能,可以通过上面提供的api链接去查看

但是基本用上面这些命令就够了,现在项目中就用的PM2,感觉还是不错,用于生产环境完全没问题!

本文网址:http://www.shaoqun.com/a/204178.html

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。

JS

0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值