pm2是一个守护进程管理器,可以用它来管理你的node进程。
一、功能
-
日志管理:收集日志,并有插件配合进行管理
-
负载均衡:减轻服务器压力
-
终端监控:可以在终端中监控您的应用程序并检查应用程序运行状况
-
静态服务:支持静态服务器功能
-
集成管理:多个进程,不同环境,统一配置
-
SSH部署:自动部署,避免在所有服务器中进行ssh
-
0秒重载:维护升级不需要停机
-
提供HTTP API
二、安装&使用
使用npm安装pm2
npm install pm2@latest -g
查看pm2的安装路径
whereis pm2
查看版本号
pm2 -v
构建node项目
npm install
npm run build
进入项目根目录,找到main函数启动项目
pm2 start main.js
查看项目启动结果
pm2 list
查看日志
pm2 logs
# 显示流中的所有进程日志
pm2 logs --raw
# 清空所有日志文件
pm2 flush
# 重新加载所有日志
pm2 reloadLogs
此时屏幕上会同时输出 error log 和 实时 log , 同时会打印出日志文件的路径。
但是pm2自带的日志功能是不支持自动分割的,这就会导致随之时间的推移,我们的日志文件会越来越大,不但会影响性能,在后期排查问题的时候也会很麻烦,我们可以使用pm2-logrotate插件来解决上面的问题。
pm2 install pm2-logrotate
安装完成后就可以通过pm2 list命令查看模块列表了
通过 pm2 conf pm2-logratate 可以查看详细的配置
pm2 conf pm2-logratate
比如我们可以设置日志文件大小为1KB
pm2 set pm2-logratate:max_size 1K
retain是日志文件的最大总数,比如上面的默认值是30,当我们的日志文件超过30个之后,插件会自动将最早的日志文件删除掉,我们就不用花时间再去整理日志文件了,省了我们的不少时间。
修改完之后重启生效
pm2 restart all
停止项目
pm2 stop www
重启项目
pm2 restart www
删除项目
pm2 delete www
网友评论