PM2 工具的认识与使用

简介: PM2是node进程管理工具。简化node应用管理的繁琐任务,如性能监控,自动重启,负载均衡

PM2

PM2是node进程管理工具

### 作用

简化node应用管理的繁琐任务,如性能监控,自动重启,负载均衡

安装

npm install -g pm2

pm2项目目录介绍

├── $HOME/.pm2  
    will contain all PM2 related files
├── $HOME/.pm2/logs
    will contain all applications logs
├── $HOME/.pm2/pids
    will contain all applications pids
├── $HOME/.pm2/pm2.log
    PM2 logs
├── $HOME/.pm2/pm2.pid
    PM2 pid
├── $HOME/.pm2/rpc.sock
     Socket file for remote commands
├── $HOME/.pm2/pub.sock
    Socket file for publishable events
├── $HOME/.pm2/conf.js
    PM2 Configuration

入门

http://pm2.keymetrics.io/docs/usage/quick-start

常用命令

  • 启动

    • pm2 start app.js --watch -i 2
    • 参数说明

      • --watch:监听应用目录的变化,一旦发生变化,自动重启。如果要精确监听、不见听的目录,最好通过配置文件。
      • -i --instances:启用多少个实例,可用于负载均衡。如果-i 0或者-i max,则根据当前机器核数确定实例数目。
      • --ignore-watch:排除监听的目录/文件,可以是特定的文件名,也可以是正则。比如--ignore-watch="test node_modules "some scripts""
      • -n --name:应用的名称。查看应用信息的时候可以用到。
      • -o --output :标准输出日志文件的路径。
      • -e --error :错误输出日志文件的路径。
      • --interpreter :the interpreter pm2 should use for executing app (bash, python...)。比如你用的coffee script来编写应用。
    • 重启
      pm2 restart app.js
    • 停止
      pm2 stop app_name|app_id 停止特定应用
      pm2 list 可获得app_name和app_id
      pm2 stop all 停止所有
    • 删除
      pm2 delete app_id
      pm2 delete all
    • 查看进程状态
      pm2 list
    • 查看某个进程的信息
      pm2 list app_id
  • 配置文件

    • 说明

      • 配置文件里的设置项,跟命令行参数基本是一一对应的。
      • 可以选择yaml或者json文件,就看个人洗好了。
      • json格式的配置文件,pm2当作普通的js文件来处理,所以可以在里面添加注释或者编写代码,这对于动态调整配置很有好处。
      • 如果启动的时候指定了配置文件,那么命令行参数会被忽略。(个别参数除外,比如--env)
    • 例子

wpsENtYhG.jpg

  • 自动重启

    • pm2 start app.js --watch
  • 环境切换
  • 负载均衡

    • pm2 start app.js -i 3 # 开启三个进程
    • pm2 start app.js -i max # 根据机器CPU核数,开启对应数目的进程
  • 日志查看

    pm2 logs

  • 指令tab补全
  • 开机自动启动

    • 通过pm2 save保存当前进程状态。
    • 通过pm2 startup [platform]生成开机自启动的命令。(记得查看控制台输出)
    • 将步骤2生成的命令,粘贴到控制台进行,搞定。
  • 传入node args

    • 命令行

      • pm2 start app.js --node-args="--harmony"
  • 配置文件

wpskJk7Vc.jpg

目录
相关文章
|
17天前
|
项目管理
如何成为一名优秀的技术PM
如何成为一名优秀的技术PM
19 1
|
资源调度 监控 负载均衡
浅析PM2实用入门指南
PM2 是一个守护进程管理器,可以用它来管理你的node进程,负责所有正在运行的进程,并查看node进程的状态,也支持性能监控,负载均衡等功能。使用起来也是非常简单
1175 0
|
12天前
|
监控 测试技术 项目管理
一文聊聊我理解的技术PM
作为技术同学,不仅要写好自己的代码,做好功能交付,往往还需要担任复杂项目的技术PM,但有些同学缺少项目管理经验,不知道怎么才能做好技术PM,本文结合作者自身的一些经验,分享一些心得。
|
11天前
|
敏捷开发 运维 项目管理
一个优秀的PM应该是什么样
【4月更文挑战第14天】一个优秀的PM应该是什么样
|
11天前
|
JavaScript Linux
linux安装pm2全过程
linux安装pm2全过程
11 0
|
7月前
|
机器学习/深度学习 人工智能 边缘计算
PM3398B-6P-1–3P-E 80026–172–23
PM3398B-6P-1–3P-E 80026–172–23
43 0
PM3398B-6P-1–3P-E 80026–172–23
|
程序员 API
PIONEER MAGNETICS PM3398B-6P-1-3P-E 80026-172-23
PIONEER MAGNETICS PM3398B-6P-1-3P-E 80026-172-23
60 0
PIONEER MAGNETICS PM3398B-6P-1-3P-E 80026-172-23
|
运维 Python
pm2执行python脚本
pm2执行python脚本
|
监控 Ubuntu JavaScript
pm2
pm2
100 0
|
自然语言处理 数据挖掘
SAP PM 入门系列6 - PM常用表
SAP PM 入门系列6 - PM常用表