由Apache 500錯(cuò)誤引出的臨時(shí)文件問題分析解決
查看apache日志,發(fā)覺是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提前終止執(zhí)行,沒有返回header就退出。
我依據(jù)這些錯(cuò)誤在網(wǎng)上搜索了很久,始終沒有找到滿意答案,甚至還被人誤導(dǎo),以為mod_fcgid模塊配置的問題。
在沒有找到解決方法之前,我一直在想,php最近雖然慢了點(diǎn),但至少能運(yùn)行,說明配置是沒有問題;而且,如果現(xiàn)在執(zhí)行phpinfo(),程序依然能夠執(zhí)行。我再次梳理出錯(cuò)規(guī)律,發(fā)覺include多的mvc框架就會(huì)提示500內(nèi)部錯(cuò)誤。其它簡單的程序就能夠運(yùn)行。這說明什么?!說明php已經(jīng)不能include文件了,為什么?只能是請(qǐng)求這些資源時(shí)動(dòng)了臨時(shí)文件,而臨時(shí)文件沒有多余空間了。
運(yùn)行
df -h
發(fā)覺果然如此
Filesystem Size Used Avail Use% Mounted on /dev/sda1 6.8G 6.5G 17M 100% / ...
系統(tǒng)主目錄/下已經(jīng)爆掉了。
于是,查找大文件
find / -type f -size +300M
發(fā)覺php插件Xdebug產(chǎn)生了很多性能分析文件,而且都是以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
再次查看硬盤情況,發(fā)覺已使用為26%,剩余4.9G。
Filesystem Size Used Avail Use% Mounted on /dev/sda1 6.8G 1.7G 4.9M 26% / ...
甚至不用重啟httpd服務(wù)器,刷新web,又正常運(yùn)行了?。?!
為免除后患,我們需要安裝一個(gè)定時(shí)清理軟件--tmpwatch,設(shè)置/etc/cron.daily/tmpwatch配置里面的定時(shí)時(shí)間
usr/sbin/tmpwatch "$flags" 30d /var/tmp
改為7d(必須以天為單位)
usr/sbin/tmpwatch "$flags" 7d /var/tmp
一個(gè)星期定時(shí)清理一次。
- 在Linux系統(tǒng)上查看Apache服務(wù)器的錯(cuò)誤日志
- Apache訪問出現(xiàn)501 Method Not Implemented錯(cuò)誤解決
- Apache啟動(dòng)錯(cuò)誤Permission denied: httpd: could not open error log file解決方法
- Apache2.4.2編譯安裝2個(gè)常見錯(cuò)誤和解決方法
- Apache Request-URI Too Large錯(cuò)誤解決方法
- Windows系統(tǒng)下Apache服務(wù)器無法啟動(dòng)的問題解決
- Apache安裝后出現(xiàn)服務(wù)無法啟動(dòng)(服務(wù)里啟動(dòng)出現(xiàn)錯(cuò)誤代碼1)
相關(guān)文章
在Apache服務(wù)器上添加虛擬主機(jī)功能的方法
這篇文章主要介紹了在Apache服務(wù)器上添加虛擬主機(jī)功能的方法,文中以CentOS系統(tǒng)為示例環(huán)境,需要的朋友可以參考下2015-08-08在CentOS VPS上通過SSH安裝 MySQL的方法圖解
這篇文章主要介紹了在CentOS VPS上通過SSH安裝 MySQL,需要的朋友可以參考下2018-12-12linux?系統(tǒng)進(jìn)程管理工具systemd詳解(systemctl命令、創(chuàng)建自己的systemd服務(wù))
Unit?是?Systemd?管理系統(tǒng)資源的基本單元,可以認(rèn)為每個(gè)系統(tǒng)資源就是一個(gè)?Unit,并使用一個(gè)?Unit?文件定義,這篇文章主要介紹了linux?系統(tǒng)進(jìn)程管理工具systemd詳解(systemctl命令、創(chuàng)建自己的systemd服務(wù)),需要的朋友可以參考下2022-12-12linux所有命令都失效顯示bash: xxxxx: command not f
這篇文章主要介紹了linux所有命令都失效顯示bash: xxxxx: command not found的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05騰訊云(ubuntu)下安裝 nodejs + 實(shí)現(xiàn) Nginx 反向代理服務(wù)器
本文將介紹如何給騰訊云上的 Ubuntu Server 12.04 LTS 64位主機(jī)安裝 node 及 nginx,并簡單配置反向代理。2016-11-11