详解使用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 相关文章推荐
PHPStorm 2020.1 调试 Nodejs的多种方法详解
Sep 17 NodeJs
NodeJS学习笔记之FS文件模块
Jan 13 NodeJs
nodejs爬虫抓取数据乱码问题总结
Jul 03 NodeJs
Jquery通过ajax请求NodeJS返回json数据实例
Nov 08 NodeJs
nodeJS删除文件方法示例
Dec 25 NodeJs
利用nodejs监控文件变化并使用sftp上传到服务器
Feb 18 NodeJs
nodejs读写json文件的简单方法(必看)
Mar 09 NodeJs
NodeJs的fs读写删除移动监听
Apr 28 NodeJs
使用nodejs爬取前程无忧前端技能排行
May 06 NodeJs
NodeJS爬虫实例之糗事百科
Dec 14 NodeJs
nodejs异步编程基础之回调函数用法分析
Dec 26 NodeJs
nodejs微信开发之授权登录+获取用户信息
Mar 17 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
短波收音机简介
2021/03/01 无线电
用sql命令修改数据表中的一个字段为非空(not null)的语句
2010/06/04 PHP
54个提高PHP程序运行效率的方法
2015/07/19 PHP
php使用ffmpeg获取视频信息并截图的实现方法
2016/05/03 PHP
PHP错误和异常处理功能模块示例
2016/11/12 PHP
原生JS实现Ajax通过GET方式与PHP进行交互操作示例
2018/05/12 PHP
PHP+Redis开发的书签案例实战详解
2019/07/09 PHP
Json对象与Json字符串互转(4种转换方式)
2013/03/27 Javascript
jQuery javaScript捕获回车事件(示例代码)
2013/11/07 Javascript
js判断元素是否隐藏的方法
2014/06/09 Javascript
点评js异步加载的4种方式
2015/12/22 Javascript
jQuery实现简单的DIV拖动效果
2016/02/19 Javascript
js检测离开或刷新页面时表单数据是否更改的方法
2016/08/02 Javascript
原生js实现ajax方法(超简单)
2016/09/20 Javascript
详解Sea.js中Module.exports和exports的区别
2017/02/12 Javascript
JS基于面向对象实现的多个倒计时器功能示例
2017/02/28 Javascript
前端框架学习总结之Angular、React与Vue的比较详解
2017/03/14 Javascript
轻松理解JavaScript闭包
2017/03/14 Javascript
node通过npm写一个cli命令行工具
2017/10/12 Javascript
React+Antd+Redux实现待办事件的方法
2019/03/14 Javascript
Angular脚手架开发的实现步骤
2019/04/09 Javascript
Python内置函数的用法实例教程
2014/09/08 Python
python实现壁纸批量下载代码实例
2018/01/25 Python
python topN 取最大的N个数或最小的N个数方法
2018/06/04 Python
浅析pip安装第三方库及pycharm中导入第三方库的问题
2020/03/10 Python
使用python脚本自动生成K8S-YAML的方法示例
2020/07/12 Python
Python 多线程C段扫描、检测 Ping扫描脚本的实现
2020/09/03 Python
详解python模块pychartdir安装及导入问题
2020/10/22 Python
前端canvas水印快速制作(附完整代码)
2019/09/19 HTML / CSS
英国现代家具和装饰网站:PN Home
2018/08/16 全球购物
高等教育学自荐书范文
2014/02/10 职场文书
陈安之励志演讲稿
2014/08/21 职场文书
民主评议党员总结
2014/10/20 职场文书
2014年银行柜员工作总结
2014/11/12 职场文书
优秀班主任先进事迹材料
2014/12/16 职场文书
2015仓库保管员年终工作总结
2015/05/13 职场文书