Node/Koa2[76]:PM2配置和使用
·
Yin灏
PM2 介绍
-
PM2 node.js 进程管理工具(npm install pm2 -g)
-
守护进程:服务挂掉之后自动重启
-
多进程:更好的利用 CPU 和内存
PM2 使用
-
启动服务
-
常用命令
-
进程守护
代码演示
- 安装
npm install pm2 -g
- 配置 package.json 命令
"scripts": {
//...
"prd": "cross-env NODE_ENV=production pm2 start bin/www"
}
- 运行命令
npm run prd
- 基本命令
pm2 list #查看列表
pm2 restart [name,[id]] #重启
pm stop [name,[id]] #停止
pm2 delete [name,[id]] #删除
pm2 info [name,[id]] #查看具体进程信息
pm2 log #查看日志
pm2 monit [name,[id]] #监控
PM2 配置
- 新建文件:pm2.conf.json
{
"apps": {
"name": "weibo",
"script": "bin/www",
"watch": true,
"ignore_watch": ["node_modules", "logs", "uploadFiles"],
"instances": 4, // 多进程
"error_file": "./logs/err.log",
"out_file": "./logs/out.log",
"log_date_format": "YYYY-MM-DD HH:mm:ss"
}
}
- 更改启动命令
"scripts": {
//...
"prd": "cross-env NODE_ENV=production pm2 start pm2.conf.json"
}
多进程模型
-
更好的利用内存和 CPU
-
进程之间无法通讯,因此 redis mysql 要用统一的服务