今天早上,开机访问自己站点时候,发现报错了,nginx 502 。然后自己想当然的reboot之后,发现变成了mysql not content的错误
于是,就想着肯定是mysql进程没起来,ps -ef | grep msyql 发现确实是这样。可我定时脚本里是有监控mysql的,查看脚本运行日志发现mysql是run状态,于是手动执行该脚本,提示mysql start 成功。再访问发现网页还是mysql not content的错误。这时候就不得不看错误日志了
于是我找nginx配置文件,查看了errror log的存储路径,进来一看发现压根就没配置日志,好奇葩~于是自己加了log 配置,重启nginx,问题依旧~但log并不存在~orz...
于是我又一次查看nginx配置文件,发现在配置下面有配置errror log的。于是把之前加的配置删掉,重启,到errror log里查看情况 failed (28: No space left on device)
这时候我立马意识到磁盘空间不足了。然后df -H 果然定位到问题,opt 磁盘100%了
当然,我也不清楚为何opt目录磁盘回满,谁占用的最多呢,于是用了下面的命令
cd /opt/
du -sh *
发现一个是程序数据库备份目录,一个是我的mysql binlog 还有就是 我的站点日志并没有按天割裂,而且集中在一个文件里,这个文件也很久没删过,所以导致越来越大。
把上面内容进行删除和清空之后,网站立马恢复OK了~
后记:应该写个脚本定时清空或删除日志,而日志也应该按照日期进行割裂,这样方便保留问题,定位问题。