PM2
PM2 node.js进程管理工具(npm i pm2 -g
)
守护进程: 服务挂掉后自动重启
多进程:更好的里有cpu和内存
PM2使用
启动服务
在package.json
的scripts中添加'prd':"cross-env NODE_ENV=production pm2 start bin/www"
意思是在执行cross-env模块的 npm run prd命令时 使用pm2 来启动 bin/www
常用命令
pm2 list
#打印当前服务的信息列表 比如(App name,id,version,mode.....)
pm2 restart id/App name
#重启服务
pm2 stop id/App name
#停止服务 服务还在 可以重启
pm2 delete id/App name
#删除服务 服务没了 需要在启动一遍
pm2 info id/App name
#查看进程的信息
pm2 log id/App name
#查看日志
pm2 monit id/App name
#监控服务 会进入监控界面
进程守护
在报错后 自动重启服务 ,可以保证在访问出错时 ,不会挂掉服务,能够正常访问其他没问题的页面
PM2配置
{
"apps": {
"name": "weibo", // 进程的名字
"script": "bin/www", // 启动的目录
"watch": true, // 出错后是否自动重启
"ignore_watch": [
"node_modules",
"logs",
"uploadFiles"
], // 出错后自动重启时 不需要重启的文件
"instances": 6, // 启动进程数量 根据cpu是几核来写
// 进程越多 能同时访问就越多
// 日志文件配置
"error_file": "./logs/err.log", // 错误日志
"out_file": "./logs/out.log", // 正常日志
"log_date_format": "YYYY-MM-DD HH:mm:ss" // 日期日志
}
}
如果配置了pm2文件 可以将启动文件改一下
在package.json
的scripts中添加'prd':"cross-env NODE_ENV=production pm2 start pm2.conf.json"