【记录/Nginx】Server磁盘空间不足引发的BUG

在RedhatLinux7.9系统上使用Docker部署的Nginx服务器遇到特定数据更新时的日志错误,错误显示磁盘空间不足。通过检查确认根目录磁盘已满,删除大文件释放空间后,问题得到解决。报错源于大尺寸的请求体超过client_body_buffer_size,被写入临时文件导致。解决方案包括监控磁盘使用情况和调整Nginx配置参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

  • 服务器:Redhat Linux 7.9
  • 使用Docker部署
  • Web服务器:Nginx

起因

系统总是在特定的数据更新时报错,查看Docker 日志,发现Nginx报错如下:

journalctl CONTAINER_NAME=xxx -e -b
[crit] 40#40: *9398 pwrite() "/var/cache/nginx/client_temp/0000000048" failed (28: No space left on device)

说得很清楚了,磁盘空间不足。但是很奇怪,换一条数据测试发现并没有打印类似的err log。

解决思路

1. 先确认一下磁盘容量。看根目录,已使用100%。可以确定,直接原因就是磁盘空间不足。

df -h
Filesystem             Size  Used Avail Use% Mounted on
(略)
/dev/mapper/rhel-root  118G  113G     0 100% /
(略)

 2. 接着确认是哪些文件占用的磁盘空间最大。找到始作俑者,没用就删掉(rm -f)。

# 查看当前路径(根目录)下最大size的文件/夹
cd /
du -h --max-depth=1

3. 磁盘可用空间恢复后,测试发现确实不报错了。继续调查之前为什么会针对特定数据报错。仍参考之前的Nginx报错内容,可以看到本次更新生成了一个临时文件。


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值