pm2部署管理nodejs

简介

pm2官网
pm2是一个进程管理工具,可以用它来管理你的node进程,并查看node进程的状态,也支持性能监控,进程守护,负载均衡等功能。

特性:

  • 内建负载均衡(使用Node cluster 集群模块)
  • 后台运行
  • 不停机重载
  • 控制台检测
  • 提供 HTTP API

安装pm2

参考官方文档

1
npm install pm2@latest -g

常用命令

  • pm2 start app.js 启动项目
  • pm2 list 列出pm2管理的所有进程
  • pm2 monit 监控项目
  • pm2 logs 查看日志
  • pm2 stop/restart/reload/start/delete 停止,重启,重载,启动和删除项目

配置文件

通常我们需要使用配置文件去管理pm2,配置文件支持jsonyaml

列:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{
"apps": [
{
"name": "app",
"cwd": "/data/wwwroot/app",
"script": "app.js",
"log_date_format": "YYYY-MM-DD HH:mm Z",
"error_file": "/data/wwwlogs/app/error.log",
"out_file": "/data/wwwlogs/app/stdout.log",
"pid_file": "pm2.pid",
"instances": 4,
"min_uptime": "200s",
"max_restarts": 10,
"max_memory_restart": "1024M",
"watch": false,
"exec_interpreter": "node",
"exec_mode": "cluster",
"autorestart": false,
"vizion": false
}
]
}
  • name 项目名
  • cwd 应用目录
  • script 启动脚步
  • instances 启动进程数
  • min_uptime 启动后最小运行时间
  • max_restarts 最大重试次数
  • max_memory_restart 最大内存
  • watch 是否启用监控模式,程序发生变动时是否自动重新加载
  • exec_interpreter 应用的脚步类型,默认为nodejs
  • exec_mode 启动模式,默认fork
  • autorestart 崩溃或退出是否自动重启
  • vizion 启用/禁用vizion特性

当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器