由Apache 500错误引出的临时文件问题分析解决
查看apache日志,发觉是mod_fcgid模块异常,提示"Connection reset by peer:mod_fcgid:error reading data from FastCGI server"、"Premature end of script headers:index.php"、"process /usr/... apache/cgi-bin exit(communication error, get unexpected signal 7",说白了就是php提前终止执行,没有返回header就退出。
我依据这些错误在网上搜索了很久,始终没有找到满意答案,甚至还被人误导,以为mod_fcgid模块配置的问题。
在没有找到解决方法之前,我一直在想,php最近虽然慢了点,但至少能运行,说明配置是没有问题;而且,如果现在执行phpinfo(),程序依然能够执行。我再次梳理出错规律,发觉include多的mvc框架就会提示500内部错误。其它简单的程序就能够运行。这说明什么?!说明php已经不能include文件了,为什么?只能是请求这些资源时动了临时文件,而临时文件没有多余空间了。
运行
df -h
发觉果然如此
Filesystem Size Used Avail Use% Mounted on /dev/sda1 6.8G 6.5G 17M 100% / ...
系统主目录/下已经爆掉了。
于是,查找大文件
find / -type f -size +300M
发觉php插件Xdebug产生了很多性能分析文件,而且都是以100M记。
/tmp/profiler/cachegrind.out.1336 /tmp/profiler/cachegrind.out.1329 ....
于是修改php.ini,将分析文件存放在其它地方,或者干脆不保存。
# close xdebug profiler in php.ini xdebug.profiler_enable = off
再删除xdebug性能分析目录和php var跟踪目录
rm -rf /tmp/profilter rm -rf /tmp/trace
再次查看硬盘情况,发觉已使用为26%,剩余4.9G。
Filesystem Size Used Avail Use% Mounted on /dev/sda1 6.8G 1.7G 4.9M 26% / ...
甚至不用重启httpd服务器,刷新web,又正常运行了!!!
为免除后患,我们需要安装一个定时清理软件--tmpwatch,设置/etc/cron.daily/tmpwatch配置里面的定时时间
usr/sbin/tmpwatch "$flags" 30d /var/tmp
改为7d(必须以天为单位)
usr/sbin/tmpwatch "$flags" 7d /var/tmp
一个星期定时清理一次。
您可能感兴趣的文章:
- 由Apache 500引出的临时文件问题
- 解决文件夹选项隐藏文件打不开问题正文分析错误
- IE6不能正常解析CSS文件问题的解决方法及原因分析
- 解决apache服务器下载.dmg文件乱码页码问题
- 一步一步分析解决PHP文件下载直接在网页中打开问题
- 跟踪 session 的执行,分析跟踪日志文件,解决问题的好方法
- Java 编程技术中汉字问题的分析及解决,文件操作
- 【原创】Apache服务器500错误失去响应的问题解决
- sql server 2005日志文件过大问题解决后分析--针对发布订阅产生的日志问题
- oracle 01033问题解决和临时文件
- 网上邻居文件共享、问题解决层次分析
- apache遇上selinux(apache 不能创建文件问题解决)
- sql server 2005日志文件过大问题解决后分析--针对发布订阅产生的日志问题
- outlook2007"无法创建工作文件,请检查临时环境变量"问题解决
- Java 编程技术中汉字问题的分析及解决,文件操作
- Struts2中文件过大上传失败问题解决方案org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException
- 解决“您已经更改系统默认的系统临时文件目录……”问题
- org.apache.tools.zip在Linux下压缩文件中文乱码问题解决
- [JAVA]Apache FTPClient操作“卡死”问题的分析和解决
- apache与tomcat负载集群的方法与集群的文件同步问题和图片上传显示问题解决