nginx日志磁盘空间使用率100%

0、现象

CICD部署失败,连接拒绝
在这里插入图片描述

猪齿鱼到gitlab 503
在这里插入图片描述
CICD出现137现象在这里插入图片描述

1、问题描述

服务器提示磁盘满了,表现如下:
在这里插入图片描述
经查看是nginx服务器,使用 df -h 命令如下:
在这里插入图片描述

考虑是被nginx日志撑满,查看日志文件大小
在这里插入图片描述
问题确定,所以删除日志。

2、正确删除日志

echo " " > ./error.log

在这里插入图片描述

3、错误删除方式、原因、解决方法

  1. 错误删除方式
    使用rm -f删除或者xftp右键删除,删除之后云盘使用率并没有发生变化。
  2. 原因
    在linux中,通过rm或者文件管理器删除文件将会从文件系统的目录结构上解除链接(unlink),然而如果文件是被打开的(有进程正在使用或者不断写入),那么进程将可以继续读取该文件,磁盘空间也会一直被占用无法释放。nginx日志文件在删除的时候文件正在被使用;
  3. 解决
    网上大部分资料说的都是直接重启nginx服务,没用!!!
    重启之后,是可以直接生成新的日志文件的,但原本的日志文件占用问题并没有解决
    正确方案:重启之后,杀掉使用nginx旧日志文件的进程
    • 安装lsof

      yum install lsof
      
    • 查看使用nginx日志的进程

      lsof |grep deleted
      
      [root@local ~]# lsof |grep deleted
      nginx      4401    nobody   38w      REG      253,0   19304448   10835682 /var/nginx/logs/error.log (deleted)
      
    • 解决:kill 4401 即可删除error.log占用的问题。

清理正在被读写的大日志文件时,直接使用 echo “” > ./xxx.log 命令,即直接将文件置空,并不影响服务的使用,文件大小也被控制下来,磁盘空间也释放了。

4、重启nginx

  1. 验证nginx配置文件是否正确

    [root@localhost ~]# cd /usr/local/nginx/sbin
    
    [root@localhost sbin]# ./nginx -t
    

    在这里插入图片描述

  2. 重启nginx
    进入nginx安装目录sbin下,输入命令./nginx -s reload 即可

    [root@localhost ~]# cd /usr/local/nginx/sbin
    [root@localhost sbin]# ./nginx -s reload
    
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值