美文网首页
PM2进程管理

PM2进程管理

作者: Pretty_Boy | 来源:发表于2018-12-04 16:17 被阅读77次

PM2 process manager for Node.js
2018/12/4 PM2 => 3.2.2

Installation

npm install pm2 -g

基础命令

pm2 start <js|json>  // 启动并添加一个进程
pm2 ls  // 显示所有进程
pm2 delete <name|id|script|all|json|stdin>  // 停止并删除指定的进程
// 此进程使用kill 无效,因为存在守护进程,所以手动kill掉某个进程后会自动重启
pm2 stop <id|name|all|json|stdin>  // 停止进程
pm2 start <id|name|all|json|stdin>  // 启动指定进程
pm2 restart <id|name|all|json|stdin>  // 重启指定进程 也可使用正则匹配多个进程

日志

// 1 实时查看某进程日志
pm2 logs <id|name|all>
// 2 当没有指定日志目录时,默认在~/.pm2/logs中存放这所有进程日志历史

pm2 flush 清空所有历史应用日志

负载均衡

pm2 start app.js -i <number | max> // 启动指定数量的子进程

配置文件

  1. 使用Generator
pm2 init  // 生成 ecosystem.config.js
// 此时 pm2 start  ||  pm2 start ecosystem.config.js 即可使用配置启动
// ecosystem.config.js
// 配置多个环境
module.exports = {
  apps : [{
    name: "app",
    script: "./app.js",
    // log start
    output: "./out.log",
    error: "./error.log",
    log: "./combined.outerr.log",
    log_type: "json", // 将日志按json打出
    log_date_format: "YYYY-MM-DD",
    merge_logs: true,
    // log end
    // output:  is only standard output (console.log)
    // error: is only error output (console.error)
    // log combines output and error, disabled by default

    // balancing start
    instances: "max",
    // balancing end

    // watch and reload
    watch: true,
    env: {
      NODE_ENV: "development",
    },
    env_production: {
      NODE_ENV: "production",
    }
  }]
}
// 通过--env 指定环境 
// 当进程被启动后 其环境则一般不可变,可通过--update-env 强制改变环境
  1. 自己设置配置文件 app.json
[{
    "name": "app",
    "script": "./app.js",
    "error_file": "/data/app-logs/argus/err.log",
    "out_file": "/data/app-logs/argus/out.log",
    "exec_mode": "cluster_mode",  // 单点/集群
    "listen_timeout" : 10000,
    "log_date_format" :"YYYY-MM-DD HH:mm:ss.SSS",
    "env": {
        "NODE_ENV": "production"
    }
}]

保存进程列表

// ~/.pm2/dump.pm2  ||  ~/.pm2/dump.pm2.bak
pm2 dump | save  // 保存当前的进程列表
pm2 resurrect   // 恢复之前保存的进程列表

  1. 进程列表用json格式输出
 pm2 prettylist     // print json in a prettified JSON
  1. 配置文件具体参数

https://pm2.io/doc/en/runtime/reference/ecosystem-file/

  1. 配置文件中的部署deploy 使用ssh

https://pm2.io/doc/en/runtime/guide/easy-deploy-with-ssh/

  1. PM2 源码

https://github.com/Unitech/pm2

相关文章

  • PM2的基本使用

    NodeJS 进程管理器 pm2 的使用 1. pm2 简介 PM2 是一款非常优秀的 Node 进程管理工具,它...

  • PM2-node 进程管理工具

    PM2官网 pm2进程管理工具使用总结 PM2是node进程管理工具,可以利用它来简化很多node应用管理的繁琐任...

  • pm2--一个nodejs进程管理工具

    pm2是针对nodejs的项目进程管理工具,可以方便管理多个nodejs进程。 常用命令: 启动 pm2 star...

  • PM2使用指南

    pm2简介 pm2是一个进程管理工具,可以用它来管理你的node进程,并查看node进程的状态,当然也支持性能监控...

  • pm2简单使用

    pm2是一个守护进程管理器,可以用它来管理你的node进程。 参考:浅析PM2实用入门指南-阿里云开发者社区[ht...

  • pm2

    安装pm2 pm2启动配置文件 停止进程 启动进程 杀死进程

  • Linux-Unix进程管理汇总

    Linux-Unix进程管理汇总 NODE PM2 Forever Supervisor Java Jstat ...

  • Node 工具 | PM2 备忘录

    PM2[https://github.com/Unitech/pm2] 是 node 进程管理工具,可以利用它来简...

  • 借助pm2管理node服务进程

    概述 官网说明: PM2官方网址pm2是一个守护进程管理器,它将帮助您管理和保持应用程序全天候在线PM2 is a...

  • pm2

    pm2是一个进程管理工具,可以用它来管理你的node进程,并查看node进程的状态,当然也支持性能监控,进程守护,...

网友评论

      本文标题:PM2进程管理

      本文链接:https://www.haomeiwen.com/subject/vgbmcqtx.html