Nodejs学习笔记(十三)—PM2

简介

  PM2html

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

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

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

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

  使用体会:
 
  1.简单易用、后台运行、快速部署,经常使用到的命令就几个
 
  2.可轻松集群模式启动
 
  3.能够无宕机重暂应用程序,保持不断链接的状况下轻松重载代码
 
  4.完善的日志
 
  5.自动中止不稳定的进程
 
  6.保活应用程序
 
  ….

pm2安装

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

npm install pm2 -g

  安装成功以下图npm

  查看版本api

pm2 -v

  各平台安装方法一致app

 

操做

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

启动

pm2 start app.js

  成功以下图

  这样就能够经过http://localhost:11111 来访问

关闭

pm2 stop 0

  为何stop后是0? 从上图能够看出进程ID为0,因此经过进程ID能够关闭,而后这种方式不易记,下面我看看其它方式启动和关闭

其它方式启动/关闭

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

pm2 start app.js --name test

  启动后结果以下图,你能够看到App name 

  根据App name关闭项目

pm2 stop test

  能够自行试一下效果,关闭成功!

从PM2中删除

pm2 delete test

  固然也能够pm2 delete 进程ID 

重载和重启

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

pm2 reload test
pm2 restart test

  reload能够作到0秒宕机加载新的代码,restart则是从新启动,生产环境中多用reload来完成代码更新!

查看详情  

pm2 show test

  输出以下图

  经过查看详情就能够看到不少有用信息,包含日志和错误输出的文件路径(感受日志是用的比较多的)  

多项目操做

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

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

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

  启动后以下图

  想要对这2个项目进行批量操做(多个也同样),以下(重加载所有/中止所有/重启所有/删除所有)

pm2 reload all
pm2 stop all
pm2 restart all
pm2 delete all

 

集群

  上面从图中能够看出mode是“fork”

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

  启动方式

pm2 start app.js -i 2 --name test

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

  从上图能够看出mode为“cluster”方式,其它操做就能够经过上面用过的方式去启动、关闭、重载、重启、删除

  

其它操做

  watching

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

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

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

  建议:这个适合在开发时用,能够省很多时间,生产环境下最好不要用

  list

pm2 list

  能够列出pm2中全部项目

  monit

pm2 monit

   用monit能够打开实时监视器去查看资源占用状况

  logs

pm2 logs

  经过上面命令能够实时查看日志输出状况(固然,我更习惯去日志文件里看)

 

写在以后

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

  PM2还有其它不少其它功能,能够经过上面提供的api连接去查看

  可是基本用上面这些命令就够了,如今项目中就用的PM2,感受仍是不错,用于生产环境彻底没问题!

 

此系列的源代码可到http://bijian1013.iteye.com/blog/2425085下载。 

文章来源:https://www.cnblogs.com/zhongweiv/p/pm2.html

相关文章
相关标签/搜索