一个一直正常的站点,突然动态生成的二维码图片不能正常显示了,通过F12查看发现提示 err_incomplete_chunked_encoding 错误,咨询度娘有多种可能,其中有一种是 nginx 可能没有操作临时目录的权限。但之前一直是好的,不太可能没有权限,除非是别的原因导致了无法操作。果然,一查磁盘空间已满。
于是在站点的应用服务 tomcat 相关目录下删除了一些日志。
此时,再去登录站点却报500错误了,根据错误信息,发现是mysql连接不上(数据库与应用在同一台服务器),想想可能也是因为磁盘空间的原因,服务挂了。登录服务器重启mysql服务:service mysqld start,但提示启动失败。
此时,想到原因可能是因为删除的日志并不在数据库所在的磁盘吧。
于是:
(1)查找最近更新文件
# 最近一天内修改的
find / -type f -mtime -1
# 最近一小时内修改的
find / -type f -mmin -60
(2)查找大文件
find / -type f -size +20M
从找出的信息中,可以发现异常的大文件和一些有价值的位置等信息,从而进行处理。通过清理相关文件,成功启动MySql,站点恢复正常。
不熟悉 linux 环境,不清楚站点部署情况,不了解日志策略,让问题处理变得困难,应不了急。
(1)应该把相关信息记录下来,避免重新摸索
(2)找出问题根本原因,思考避免发生此类问题的策略