详解使用PM2管理nodejs进程


Posted in NodeJs onOctober 24, 2017

pm2 是一个带有负载均衡功能的Node应用的进程管理器.

当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着,0秒的重载, PM2是完美的。

它非常适合IaaS结构,但不要把它用于PaaS方案(随后将开发Paas的解决方案).

和使用node index.js方式比较,优点:

1 一个命令窗口就可管理多个node服务器进程。而node命令多个进程就需要开多个窗口。

2 关闭命令窗口,node进程仍然会运行。而node命令运行的关闭窗口后,进程也就关闭了。

一 安装PM2

npm install -g pm2

详解使用PM2管理nodejs进程

二 用pm2 启动index.js

pm2 start index.js --name tank

--name tank是给这个进程取个名字

详解使用PM2管理nodejs进程

三 其他pm2命令

安装
npm install -g pm2

用法
$ npm install pm2 -g   # 命令行安装 pm2 
$ pm2 start app.js -i 4 #后台运行pm2,启动4个app.js 
                # 也可以把'max' 参数传递给 start
                # 正确的进程数目依赖于Cpu的核心数目
$ pm2 start app.js --name my-api # 命名进程
$ pm2 list        # 显示所有进程状态
$ pm2 monit       # 监视所有进程
$ pm2 logs        # 显示所有进程日志
$ pm2 stop all      # 停止所有进程
$ pm2 restart all    # 重启所有进程
$ pm2 reload all     # 0秒停机重载进程 (用于 NETWORKED 进程)
$ pm2 stop 0       # 停止指定的进程
$ pm2 restart 0     # 重启指定的进程
$ pm2 startup      # 产生 init 脚本 保持进程活着
$ pm2 web        # 运行健壮的 computer API endpoint (http://localhost:9615)
$ pm2 delete 0      # 杀死指定的进程
$ pm2 delete all     # 杀死全部进程

运行进程的不同方式:
$ pm2 start app.js -i max # 根据有效CPU数目启动最大进程数目
$ pm2 start app.js -i 3   # 启动3个进程
$ pm2 start app.js -x    #用fork模式启动 app.js 而不是使用 cluster
$ pm2 start app.js -x -- -a 23  # 用fork模式启动 app.js 并且传递参数 (-a 23)
$ pm2 start app.js --name serverone # 启动一个进程并把它命名为 serverone
$ pm2 stop serverone    # 停止 serverone 进程
$ pm2 start app.json    # 启动进程, 在 app.json里设置选项
$ pm2 start app.js -i max -- -a 23          #在--之后给 app.js 传递参数
$ pm2 start app.js -i max -e err.log -o out.log # 启动 并 生成一个配置文件
你也可以执行用其他语言编写的app ( fork 模式):
$ pm2 start my-bash-script.sh  -x --interpreter bash
$ pm2 start my-python-script.py -x --interpreter python

0秒停机重载:
这项功能允许你重新载入代码而不用失去请求连接。
注意:
仅能用于web应用
运行于Node 0.11.x版本
运行于 cluster 模式(默认模式)
$ pm2 reload all

CoffeeScript:
$ pm2 start my_app.coffee #这就是全部

PM2准备好为产品级服务了吗?
只需在你的服务器上测试
$ git clone https://github.com/Unitech/pm2.git
$ cd pm2
$ npm install # 或者 npm install --dev ,如果devDependencies 没有安装
$ npm test

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

NodeJs 相关文章推荐
浅谈NodeJS中require路径问题
May 07 NodeJs
NodeJS仿WebApi路由示例
Feb 28 NodeJs
nodejs集成sqlite使用示例
Jun 05 NodeJs
nodeJS实现路由功能实例代码
Jun 08 NodeJs
详解nodejs实现本地上传图片并预览功能(express4.0+)
Jun 28 NodeJs
nodejs结合Socket.IO实现的即时通讯功能详解
Jan 12 NodeJs
nodejs简单读写excel内容的方法示例
Mar 16 NodeJs
详解redis在nodejs中的应用
May 02 NodeJs
解决nodejs的npm命令无反应的问题
May 17 NodeJs
nodejs中函数的调用实例详解
Oct 31 NodeJs
NodeJS读取分析Nginx错误日志的方法
May 14 NodeJs
nodejs实现的http、https 请求封装操作示例
Feb 06 NodeJs
nodejs中安装ghost出错的原因及解决方法
Oct 23 #NodeJs
详解Nodejs 通过 fs.createWriteStream 保存文件
Oct 10 #NodeJs
NodeJs通过async/await处理异步的方法
Oct 09 #NodeJs
nodejs 图片预览和上传的示例代码
Sep 30 #NodeJs
Nodejs调用WebService的示例代码
Sep 29 #NodeJs
Nodejs+angularjs结合multiparty实现多图片上传的示例代码
Sep 29 #NodeJs
Nodejs实现文件上传的示例代码
Sep 26 #NodeJs
You might like
支持数组的ADDSLASHES的php函数
2010/02/16 PHP
详解WordPress中添加友情链接的方法
2016/05/21 PHP
firefox中JS读取XML文件
2006/12/21 Javascript
Javascript打印网页部分内容的脚本
2008/11/17 Javascript
JavaScript 替换Html标签实现代码
2009/10/14 Javascript
JavaScript Array扩展实现代码
2009/10/14 Javascript
asp.net下利用js实现返回上一页的实现方法小集
2009/11/24 Javascript
nodejs npm install全局安装和本地安装的区别
2014/06/05 NodeJs
微信小程序 倒计时组件实现代码
2016/10/24 Javascript
EditPlus中的正则表达式 实战(4)
2016/12/15 Javascript
原生Javascript插件开发实践
2017/01/18 Javascript
原生JS实现导航下拉菜单效果
2020/11/25 Javascript
ES6新特性之函数的扩展实例详解
2017/04/01 Javascript
webpack打包单页面如何引用的js
2017/06/07 Javascript
validationEngine 表单验证插件使用实例代码
2017/06/15 Javascript
jQuery中复合选择器简单用法示例
2018/03/31 jQuery
微信小程序自定义导航栏(模板化)
2019/11/15 Javascript
vue实现短信验证码登录功能(流程详解)
2019/12/10 Javascript
Vue 同步异步存值取值实现案例
2020/08/05 Javascript
结合axios对项目中的api请求进行封装操作
2020/09/21 Javascript
[48:21]Mski vs VGJ.S Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
使用tensorflow实现线性回归
2018/09/08 Python
python配置文件写入过程详解
2019/10/19 Python
python使用pandas抽样训练数据中某个类别实例
2020/02/28 Python
Python统计学一数据的概括性度量详解
2020/03/03 Python
python录音并调用百度语音识别接口的示例
2020/12/01 Python
采用专利算法搜索最廉价的机票:CheapAir
2016/09/10 全球购物
VICHY薇姿英国官网:全球专业敏感肌护肤领先品牌
2017/07/04 全球购物
华为消费者德国官方网站:HUAWEI德国
2020/11/03 全球购物
网络安全方面的面试题
2015/11/04 面试题
物理教师自荐信范文
2013/12/28 职场文书
幼儿运动会邀请函
2014/01/17 职场文书
物流创业计划书
2014/02/01 职场文书
母校寄语大全
2014/04/10 职场文书
2014五一国际劳动节活动总结范文
2014/04/14 职场文书
群众路线教育实践活动的心得体会
2014/09/03 职场文书