PM2

对于线上项目,如果直接通过 node app 来启动,如果报错了可能直接停止导致整个服务崩溃,一般监控 node 有几种方案。

  • supervisor: 一般用作开发环境的使用。
  • forever: 管理多个站点,一般每个站点的访问量不大的情况,不需要监控。如果 node 出现问题没有办法获取到有效的监控数据进行错误排查
  • PM2: 网站的访问量比较大,需要完整的监控页面。

目录

PM2 的主要特性

配置 PM2 启动文件


PM2 的主要特性

  • 内建负载均衡(使用 Node cluster 集群模块)
  • 后台运行
  • 0 秒停机重载
  • 具有 Ubuntu 和 CentOS 的启动脚本
  • 停止不稳定的进程(避免无限循环)
  • 控制台检测
  • 提供 HTTP API
  • 远程控制和实时的接口 API ( Nodejs 模块,允许和 PM2 进程管理器交互 )
// 全局安装pm2,依赖node和npm
npm install -g pm2
// start命令启动对应的node server文件
pm2 start
//启动进程/应用 
pm2 start app.js                //启动app.js应用
pm2 start app.js --name demo    //启动应用并设置name
pm2 start app.sh                //脚本启动

//查看进程/应用详细状态信息
pm2 show [AppName|ID]

//重命名进程/应用 
pm2 start app.js --name [AppName|ID]

//添加进程/应用 
watch pm2 start bin/www --watch

//列出所有进程/应用 
pm2 list
//查看某个进程/应用具体情况 
pm2 describe [AppName|ID]

//监控每个 node 进程的 cpu 和内存使用情况 
pm2 monit
//监听模式
pm2 start app.js --watch    //当文件发生变化,自动重启

//查看pm2的日志 
pm2 logs
//若要查看某个进程/应用的日志,使用 
pm2 logs [AppName|ID]

//重新启动进程/应用 
pm2 restart [AppName|ID]
//重新启动所有进程/应用 
pm2 restart all

//结束进程/应用 
pm2 stop [AppName|ID]
//结束所有进程/应用 
pm2 stop all

//删除进程/应用 
pm2 delete [AppName|ID]
//删除所有进程/应用 
pm2 delete all

配置 PM2 启动文件

pm2.config.js

module.exports = {
  apps: [
    {
      name: 'kaifazhe', // 应用名称
      script: './build/server.js', // 启动文件地址
      cwd: './', // 当前工作路径
      watch: [
        // 监控变化的目录,一旦变化,自动重启
        'src',
        'build',
      ],
      ignore_watch: [
        // 忽视这些目录的变化
        'node_modules',
        'logs',
        'public',
      ],
      node_args: '--harmony', // node的启动模式
      env: {
        NODE_ENV: 'development', // 设置运行环境,此时process.env.NODE_ENV的值就是development
        ORIGIN_ADDR: 'http://www.yoduao.com'
      },
      env_production: {
        NODE_ENV: 'production',
      },
      out_file: './logs/out.log', // 普通日志路径
      error_file: './logs/err.log', // 错误日志路径
      merge_logs: true,
      log_date_format: 'YYYY-MM-DD HH:mm Z',
    },
  ],
};

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xyc1211

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值