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
    
Logo

更多推荐