pm2,部署nodejs,使用方法及本身使用后总结的经验

pm2是一个带有负载均衡功能的应用进程管理器,能够用它来管理你的node进程,并查看node进程的状态,固然也支持性能监控,进程守护等功能。他会肯定重启开机以后,可以保证程序也能运行起来。目前尚未操做这部分,没有过多介绍node

启动npm

pm2 start app.jjson

添加进程/应用监视watch  (监视)api

pm2 start app2.js  --watchbash

上面图片中watching栏,disabled变为enabled服务器

列出全部进程app

pm2 list负载均衡

结束进程性能

pm2 stop appui

结束全部进程

pm2 stop all

删除进程

pm2 delete app

删除全部进程

pm2 delete all

查看某个进程状况

pm2 describe app

查看全部进程资源消耗状况

pm2 monit

重启进程

pm2 restart app

重启全部进程

pm2 restart all

pm2 restart 会杀死全部进程 从而reload实现0秒的停机时间从新加载,要从新加载使用以下命令

pm2 reload <app_name>
pm2 reload process.json

查看进程日志

pm2 logs app

查看全部进程日志

pm2 logs

保存脚本

pm2 save

建立开机启动脚本

pm2 startup systemd

更新pm2

确保正确保存了全部进程:

pm2 save

而后从NPM安装最新的PM2版本:

npm install pm2 -g 

最后更新内存中的PM2进程:

pm2 update

pm2配置文件

文件名 test.json  能够经过 pm2 start test.json 快速启动      app中每一项就是一个应用

{
   "apps": [
       {
      "name": "coin1_6",
       "cwd": "./",
       "script": "coin1_6.js",
       "log_date_format": "YYYY-MM-DD HH:mm Z",
       "error_file": "/var/log/node-app/node-app.stderr.log",
       "out_file": "log/node-app.stdout.log",
       "pid_file": "pids/node-geo-api.pid",
        "instances": "8",
        "min_uptime": "60s",
        "max_restarts": 10,
        "max_memory_restart": "100M",
        "cron_restart": "1 0 * * *",
        "watch": true,
        "merge_logs": true,
        "exec_interpreter": "node",
        "exec_mode": "cluster",
        "autorestart": false,
        "vizion": false
  }
]
}

 

name://应用程序名称
cwd://应用程序所在的目录
script://应用程序的脚本路径
log_date_format:
error_file:// 错误日志路径
out_file:// 普通日志路径
pid_file://自定义应用程序的pid文件
instances://启动的线程数量(线程最大数量通常是由服务器核数决定的)
min_uptime://最小运行时间,这里设置的是60s即若是应用程序在60s内退出,pm2会认为程序异常退出,此时触发重启max_restarts设置数量
max_restarts://设置应用程序异常退出重启的次数,默认15次(从0开始计数)
cron_restart://定时启动,解决重启能解决的问题
watch://是否启用监控模式,默认是false。若是设置成true,当应用程序变更时,pm2会自动重载。这里也能够设置你要监控的文件。
merge_logs:
exec_interpreter://应用程序的脚本类型,默认是node
exec_mode://应用程序启动模式,默认是fork
autorestart://启用/禁用应用程序崩溃或退出时自动重启
vizion://启用/禁用vizion特性(版本控制)

本人使用的时候:

1.max_memory_restart在cluster状态下小于平均的mem,服务器的cpu会占的很高,

......

详细可查看官网文档:http://pm2.keymetrics.io/docs/usage/quick-start/

相关文章
相关标签/搜索