PM2 部署

PM2的主要特性:

  • 内建负载均衡(使用Node cluster 集群模块)
  • 后台运行
  • 0秒停机重载
  • 具有Ubuntu和CentOS 的启动脚本
  • 内存的使用 过多了 CPU调度太频繁 会帮助你重启
  • 停止不稳定的进程(避免无限循环)
  • 控制台检测
  • 提供 HTTP API
  • 远程控制和实时的接口API ( Nodejs 模块,允许和PM2进程管理器交互 )
  • 查看restart 个数 就能知道代码是否有问题,但是提前要走压测,wrk

安装

npm install pm2 -g 
  • 只装save里面的依赖,cnpm install --production

常用命令

$ pm2 start pm2.json 用配置文件启动app项目
$ pm2 restart pm2.json 重启
$ pm2 list 列出由pm2管理的所有进程信息,还会显示一个进程会被启动多少次,如果启动次数多
$ pm2 monit 监视每个node进程的CPU和内存的使用情况
$ pm2 logs 显示所有进程日志
pm2 线上监控平台: https://app.keymetrics.io/api/oauth/login

pm2 list
pm2 monit

PM2.json

{
    "apps": [
    {
        "name": "worker",
        "script": "./app.js",
        "out_fil": "log/node-app.stdout.log",
        "watch": true,
        "instances" : "max",
        "exec_mode" : "cluster"
    }]
}

说明:

  • name:应用程序名称
  • script:应用程序的脚本路径
  • out_file:自定义应用程序日志文件
  • watch:监听应用目录的变化,一旦发生变化,自动重启
  • instances:启用多少个实例,用于负载均衡
  • exec_mode:应用程序启动模式,这里设置的是cluster_mode(集群),默认是fork

你可能感兴趣的:(PM2 部署)