输入指令查看当前磁盘容量 df -h

定位大容量磁盘位置 du -h --max-depth=1

解决pm2 日志文件过大问题
日志文件占用的磁盘容量,那我就尝试清除日志文件,看能否解决问题
1、清除PM2日志文件
通过指令关闭PM2,我的node进程id是0

- 输入指令,关闭node进程
-
pm2 stop 0
2、多个进程,则需要输入以下指令关闭所有的进程
-
pm2 stop all - 输入指令,删除PM2的日志
-
pm2 flush

3. 接着再查看容量服务器的容量 df -h

可以看到,可用内存变大,果然就是pm2日志的问题
永久解决日志文件过大
1. 安装插件pm2-logrotate
输入指令
-
pm2 install pm2-logrotate
等待安装完成

2. pm2-logrotate具体配置参数:
| 配置项 | 简介 |
|---|---|
| Compress | 是否通过gzip压缩日志 |
| max_size | 单个日志文件的大小,比如上图中设置为1K(这个其实太小了,实际文件大小并不会严格分为1K) |
| retain | 保留的日志文件个数,比如设置为10,那么在日志文件达到10个后会将最早的日志文件删除掉 |
| dateFormat | 日志文件名中的日期格式,默认是YYYY-MM-DD_HH-mm-ss,注意是设置的日志名+这个格式,如设置的日志名为abc.log,那就会生成abc_YYYY-MM-DD_HH-mm-ss.log名字的日志文件 |
| rotateModule | 把pm2本身的日志也进行分割 |
| workerInterval | 设置启动几个工作进程监控日志尺寸,最小为1 |
| rotateInterval | 设置强制分割,默认值是0 0 * * *,意思是每天晚上0点分割,这个足够了个人觉得 |
3. 设置pm2-logrotat
这里我们设置,当日志文件数量超过50个时候,就自动删除旧文件
-
pm2 set pm2-logrotate:retain 50
设置完成后的样子,我们看到retain由默认的30改成了50

当然,如果想后面直接看配置,也可以通过指令pm2 conf pm2-logrotate来查看详细的配置。
5. 设置pm2开机自启动
pm2 startup,这个命令会在系统 /etc/systemd/system/ 路径下生成一个 pm2-root.service 文件用来开机启动 pm2 服务。
pm2 save, 保存当前 pm2 运行的各个应用保存到 /root/.pm2/dump.pm2 下,开机重启时读取该文件中的内容启动相关应用。
本文介绍了如何通过pm2-logrotate插件管理和压缩PM2的日志文件,包括清除过期日志、设置保留数量、压缩选项及自启动配置,有效解决了日志占用磁盘空间的问题。
1037

被折叠的 条评论
为什么被折叠?



