愚墨的博客
  • 首页
  • 前端技术
  • 面试
只争朝夕不负韶华
  1. 首页
  2. Nodejs
  3. 正文

pm2

2017年03月10日 2821点热度 0人点赞 0条评论

之前有篇文章介绍过forever用来维护node进程,但是forever只能做的事情就是你的node崩了,它帮你自动重启。其他没什么耀眼的功能。相对于服务端来说,我更推荐pm2.

pm2的作用:

内建负载均衡(使用Node cluster 集群模块)
后台运行
0秒停机重载,我理解大概意思是维护升级的时候不需要停机.
具有Ubuntu和CentOS 的启动脚本
停止不稳定的进程(避免无限循环)
控制台检测
提供 HTTP API
远程控制和实时的接口API ( Nodejs 模块,允许和PM2进程管理器交互 )

安装

npm install -g pm2

没有报错就是安装成功

o_1

这样就可以使用了。

pm2 start server.js

在一些服务器上可能会报错:

pm2 : 未发现命令。

这个时候需要将pm2 的bin配置到环境变量中去。

拿centos举例:

  1. 首先找到你的pm2 的bin目录的位置,我的是在/Node/node-v4.4.7-linux-x64/lib/node_modules/pm2/bin
  2. 使用root用户(没有root权限的su一下)打开/etc/profile文件  vi /etc/profile
  3. 在 export PATH 之前加上一行代码 PATH=$PATH:/Node/node-v4.4.7-linux-x64/lib/node_modules/pm2/bin
  4. 保存,完成。

修改profile文件必须拥有root权限,如果使用root还不能修改,检查一下是否安装了云锁等安全防护软件。

下面就可以正常使用了:

  • 启动项目 ,并命名一个程序名称:  pm2 start server.js --name test   
  • 可以根据程序名称进行停止:  pm2 stop test
  • 删除进程:pm2 delete test

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

  • 重启:pm2 reload test
  • 重载: pm2 restart test
  • 查看详情:pm2 show test

对多个项目进行批量操作,如下(重加载全部/停止全部/重启全部/删除全部)

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

开发环境的启动方式都是fork形式, 生产环境一般使用cluster方式。

列举所有进程:pm2 list

实时监视: pm2 monit

更多操作看这里

标签: 暂无
最后更新:2017年03月18日

愚墨

保持饥渴的专注,追求最佳的品质

点赞
< 上一篇
下一篇 >

文章评论

取消回复

搜搜看看
历史遗迹
  • 2023年5月
  • 2022年9月
  • 2022年3月
  • 2022年2月
  • 2021年12月
  • 2021年8月
  • 2021年7月
  • 2021年5月
  • 2021年4月
  • 2021年2月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年9月
  • 2020年7月
  • 2020年5月
  • 2020年4月
  • 2020年3月
  • 2020年1月
  • 2019年5月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年9月
  • 2018年3月
  • 2018年2月
  • 2018年1月
  • 2017年11月
  • 2017年7月
  • 2017年6月
  • 2017年3月
  • 2017年2月
  • 2017年1月
  • 2016年12月
  • 2016年11月
  • 2016年9月
  • 2016年8月
  • 2016年7月
  • 2016年6月
  • 2016年5月
  • 2016年4月
  • 2016年3月
  • 2016年2月
  • 2016年1月
  • 2015年12月
  • 2015年10月
  • 2015年9月
  • 2015年7月
  • 2015年6月
  • 2015年4月

COPYRIGHT © 2020 愚墨的博客. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS