简介
PM2是nodeJS进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能jiank监控,自动重启,负载均衡等,而且使用是非常简单的。
当你要把你的独立代码利用全部的服务器上的所有 CPU,并保证进程永远都活着,0 秒的重载, PM2 是完美的。它非常适合 IaaS 结构,但不要把它用于 PaaS 方案(随后将开发 Paas 的解决方案)。
主要特性
• 内建负载均衡(使用 Node cluster 集群模块)
• 后台运行 。
• 0 秒停机重载,维护升级的时候不需要停机。
• 具有 Ubuntu 和 CentOS 的启动脚本 。
• 停止不稳定的进程(避免无限循环)
• 控制台检测
• 提供 HTTP API
• 远程控制和实时的接口 API ( Nodejs 模块,允许和 PM2 进程管理器交互 )
1.准备
(1) node环境(确保您的电脑已经安装了node.JS)
(2) npm
2.安装
// 使用npm全局安装
npm i pm2 -g
3.运行(启动项目)
// app.js为要执行的脚本文件
pm2 start app.js --name vue_shop(vue_shop为自定义名称)
//例如:C:\Users\Administrator\Desktop\code\mfw_pc-master_server>pm2 start app.js --name vue_shop
4.查看运行项目:pm2 ls
5.重启项目:pm2 restart 自定义名称或id(id为0,1,2,3…)
6.停止项目:pm2 stop自定义名称或id(id为0,1,2,3…)
7.删除项目:pm2 delete 自定义名称或id(id为0,1,2,3…)
(1)也可以删除全部进程:pm2 delete all
8.其他运行方式
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