网站用户登录失败问题的排查

作者: wxfeng 分类: php 发布时间: 2018-12-04 00:00

前两天编辑小妹说网站后台登录不上了,自己进到后台登录了一下,看到总提示登录失败;于是进到服务器,想想程序什么都没动,所以初步判断是数据库的问题;于是打算重启mysql数据库,在执行:

service mysqld restart

重启服务器时,提示重启失败,提示硬盘空间不足.赶忙执行命令:

df -h

查看硬盘存储空间,看到硬盘还有60%可用的存储空间,于是接着执行:

df -hi 

查看硬盘结点存储空间,好嘛,已用100%.于是赶忙查看是哪些文件占用了大量的结点空间,刚开始用:

ls |wc -l

发现不够直观,然后在网上搜了个shell统计脚本,可列出各目录的名字,以及文件个数

#!/bin/sh
find "要统计的目录路径" -maxdepth 1 -type d | while read dir; do 
    count=$(find "$dir" -type f | wc -l)
    echo "$dir : $count"
done

最后定位到了文件夹: /var/lib/php/session/ 发现这个文件夹有300多万个session存储文件.

确定了问题之后,对session存储文件夹进行了清空.再查看结点空间,省掉了60%.回到后台 登录成功.

分析session存储文件过多的原因是程序设计的问题,用户登录后,未设置合理的session清除机制.

由于优化程序需要花费较长的时间,所以用了个临时替代方案:设置定时任务,定时清除session存储文件,具体方法参阅文档:<<linux定时删除session存储文件>>

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注