
作者一个网站在可以ping通,服务器正常运行,linux,mysql,php都正常运行的情况下出现了访问不了的状态,MMP!
于是我开启了排查之旅,思路:在这台服务器上新建数据库,重新上传程序,重新走一次链路看看哪块出的问题;
果不其然第一步就不顺利,新建数据库出现了:
ERROR1006 (HY000):Can't create database(errno: 28)

那当然我们应该高兴出了问题,我们顺藤摸瓜,错误码的意思大概是磁盘满了没有办法新建数据库
//在根目录查看linux磁盘占用情况
df -h

Size:总内存数
Used:使用内存数
Avail:剩余内存数
Mounted on:挂载点
//到根目录
【1】cd /
//输入命令寻找当前目录,哪个文件夹占用空间最大
【2】du -sh 或者 du --max-depth=1 -h 或者 du -h max-depth=1

以上两个命令之后,可以看到 /var 和/usr 路径占用较大磁盘空间,眼尖的同学可能看到了最后一项显示17G,它表示当前目录所有文件占用磁盘空间总和容量是17G。
由于var路径占了大部分磁盘13G,那我们进入var目录看一下具体
cd var
//按照文件大小排序展示文件
du -sh ./*

排序后我们看到lib文件占用最大继续以上的步骤
cd lib
//大小排序文件
du -sh ./*


到这里我们就明白了,数据库的操作日志太多了,那我们依次删除占用空间比较大的sql操作日志

。。。。。。重复上述删除大文件直至余留出足够的空间,然后再执行命令:
//重启nignx,后网站应用可以访问
service nginx restart
//复查一下在根目录查看linux磁盘占用情况,发现磁盘不是100%
//查看磁盘使用情况
df -h

OK解决!
网友评论