星空网 > 软件开发 > Java

Nodejs学习笔记(十三)— PM2

目录

  • 简介
  • 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

  安装成功如下图

Nodejs学习笔记(十三)— PM2

  查看版本

pm2 -v

 

  各平台安装方法一致

 

操作

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

  启动

pm2 start app.js

  成功如下图

Nodejs学习笔记(十三)— PM2

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

  关闭

pm2 stop 0

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

  其它方式启动/关闭

  启动项目,并命名一个应用程序名

pm2 start app.js --name test

  启动后结果如下图,你可以看到App name 

Nodejs学习笔记(十三)— PM2

  根据App name关闭项目

pm2 stop test

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

  从PM2中删除

pm2 delete test

  当然也可以pm2 delete 进程ID 

  重载和重启

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

pm2 reload testpm2 restart test

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

  查看详情  

pm2 show test

  输出如下图

Nodejs学习笔记(十三)— PM2

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

  多项目操作

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

  启动其它项目也如上面命令,我新启一个项目:pm2sample2(端口为11112)

cd 项目目录pm2 start app.js --name test2

  启动后如下图

Nodejs学习笔记(十三)— PM2

  想要对这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方式运行

Nodejs学习笔记(十三)— PM2

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

  

其它操作

  watching

  上面的示例图中可以看一“watching”一项,这个项默认是disabled,可以通过如下命令开启

pm2 start app.js --name test --watch

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

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

  

  list

pm2 list

  可以列出pm2中所有项目

 

  monit

pm2 monic

Nodejs学习笔记(十三)— PM2 

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

 

  logs

pm2 logs

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

 

写在之后...

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

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

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

 

 





原标题:Nodejs学习笔记(十三)— PM2

关键词:JS

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

乌克兰国际物流:https://www.goluckyvip.com/tag/43520.html
乌克兰海外仓:https://www.goluckyvip.com/tag/43521.html
乌克兰空运专线:https://www.goluckyvip.com/tag/43522.html
乌克兰快递:https://www.goluckyvip.com/tag/43523.html
乌克兰物流:https://www.goluckyvip.com/tag/43526.html
乌克兰物流专线:https://www.goluckyvip.com/tag/43527.html
在古巴做游轮 古巴旅游项目:https://www.vstour.cn/a/363194.html
西藏旅游攻略自驾游需要多少天 去西藏旅游自驾游要多久时间:https://www.vstour.cn/a/363195.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流