微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

记录某PHP后台系统,图片无法上传处理过程

问题

业务部门反馈某个后台系统,图片无法上传

背景情况

没有运维岗,服务器统一使用的宝塔面板

处理过程

  • 准备上服务器(宝塔面板后台)看一下错误日志,输入账号和密码回车,提示登录成功又跳转到了登录页,换了几个浏览器(自己有个浏览器只用来看生产服务器)都是这个情况

  • ssh 登录服务器成功,df -h 一看,好家伙,系统盘 100%(系统盘只有 20G),问题找到了

  • 准备把回收站先清空一下,/www/Recycle_bin/ 目录下啥都没有

  • 在根目录下执行 du -h --max-depth=1 命令,看一下哪个文件夹占用比较多,/www/wwwlogs/ 目录下的 Nginx 的日志占了有 13G 左右

  • 找了几个超过 1G 的日志文件rm -rf xxx.log 删除登录面板后台还是跟之前一样的情况。df -h 发现系统盘还是 100% 占用,文件被删了,空间没回来

  • 原因是 linux 删除文件时,只是删除了系统对于文件一个指针,如果还有进程在使用该文件,那么文件就会一直存在。可以使用 lsof | grep delete 查找对应的进程然后 kill,也可以直接重启对应的服务。

  • 执行 /etc/init.d/Nginx reload 命令重载 Nginx 服务后发现剩余空间正常了,测试上传功能正常了。

  • 后续还做了两件事,一是清理了一部分请求日志,二是建了一个日志定时清理的任务

更好的删除方式

删除文件更好的方式应该是 echo '' > file.ext,直接覆盖写入。

推荐学习:《PHP教程

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐