记一次ThinkPHP项目缓存过大导致面板无法打开的解决过程
起因:今天QQ用户私聊我说突然间面板打不开了,是什么问题?由于该用户直接贴图过来的,看到了他执行过bt 3 命令启动面板让我疑惑的为何要reboot重启服务器?
看着截图进程在运行中,用户说发过帖子了,找到帖子,看来下是磁盘或者inode满了
随和用户聊天能否发服务器登录信息来,顺便完善下目前的教程贴的空白,待用户答应后,开干!
处理过程:
查看磁盘和inode
df -h 查看磁盘使用信息
df -i查看磁盘inode使用信息
发给用户一个查找inode信息的命令:
for i in /www/*; do echo $i; find $i |wc -l|sort -nr; done
看到/www/wwwroot/目录下面inode占用最多,再次递归查询
for i in /www/wwwroot/*; do echo $i; find $i |wc -l|sort -nr; done
定位到网站项目的位置了:
/www/wwwroot/项目名
再次递归
for i in /www/wwwroot/项目名/*; do echo $i; find $i |wc -l|sort -nr; done解决:
最后定位到:
/www/wwwroot/项目名/runtime/cache
这是ThinkPHP类型项目的缓存路径
得到用户的同意后,删除这个目录下面的缓存文件
后面查询资料,是可以取消这个缓存或者使用Redis、Memcached缓存数据库进行缓存。
取消ThinkPHP的缓存
找到项目目录下/system/thinkphp/convention.php这个文件,将缓存设置比较合理的时间:
如果有ThinkPHP大佬知道怎么设置合适的话,请在本帖下留言,您的善举是我们学习的源泉!
炮哥v587 最后定位到:
/www/wwwroot/项目名/runtime/cache
这是ThinkPHP类型项目的缓存路径
得到用户的同意后,删除这个目录下面的缓存文件
用什么指令
删除缓存的文件啊, 遇到同样的问题,这缓存直接消耗完了所有的inode就离谱,直接 rm -rf 删除,并设置缓存过期时间
页:
[1]