nodejs+express 使用pm2启动

最近在学习nodejs,在实际的开发项目遇到出现BUG的时候项目停止运行,后来查到了pm2他可以将项目变为进程管理从而避免很多的问题,比如说项目出现了BUG后也会继续运行.
接下来是我如何配置的:
1.在项目根目录下创建新文件processes.json
文件内容(这个文件内容是从另一位博主哪里copy来的,非常感谢他)
{
“apps”: [
{
“name”: “simpleExpress”,//应用程序名称
“cwd”: “./”,//根目录:应用程序所在的目录
“script”: “./bin/www”,//应用程序的脚本路径
“error_file”:"./logs/app-err.log",//自定义应用程序的错误日志文件
“out_file”:"./logs/app-out.log", //自定义应用程序日志文件
“log_date_format”:“YYYY-MM-DD HH:mm Z”, //日期格式
“pid_file”:"./pids/node-geo-api.pid",//自定义应用程序的pid文件
“instances”: 6,
“min_uptime”: “200s”,//最小运行时间,这里设置的是60s即如果应用程序在60s内退出,pm2会认为程序异常退出,此时触发重启max_restarts设置数量
“max_restarts”: 10,//设置应用程序异常退出重启的次数,默认15次(从0开始计数)
“max_memory_restart”: “1M”,
“cron_restart”: “1 0 * * *”,//定时启动,解决重启能解决的问题
“watch”:[
“bin”,
“common”,
“configs”,
“public”,
“routes”,
“views”
],//需要监控的目录
“merge_logs”: true,
“exec_interpreter”: “node”,//应用程序的脚本类型,这里使用的shell,默认是nodejs
“exec_mode”: “fork”,//应用程序启动模式,这里设置的是cluster_mode(集群),默认是fork
“autorestart”: false,//启用/禁用应用程序崩溃或退出时自动重启
“vizion”: false,//启用/禁用vizion特性(版本控制)
}
]
}

2.在package.json中的scripts加入"pm2": “pm2 start processes.json”
3.我是用的是vscode中中断中输入npm run pm2 启动服务器

4.其他命令
pm2 list //查看所有服务
pm2 show name|id //查看进程详细信息 name:进程名称 id:进程id
pm2 stop [app-name|id] #停止某一个进程,可以使用app-name或者id
pm2 stop all #停止所有进程
pm2 restart all #重启所有的进程
pm2 delete [app-name|id]#删除并停止进程
pm2 delete all #删除并停止所有进程
pm2 monit //停止、重启等命令
查看日志 pm2 logs或pm2 logs [app-name]

猜你喜欢

转载自blog.csdn.net/d81895606/article/details/89183851