1. 程式人生 > >記一次處理Apache無法啟動的問題

記一次處理Apache無法啟動的問題

apache logs 信息 無響應 could not server fff sin 提供服務

一、問題現象
使用/usr/local/apache/bin/apachectl start啟動,apache服務無響應。

二、問題分析排查
1.使用 ps -ef | grep http 查看進程,並kill掉,反復多次也沒有解決
2.查看apache的pid文件,並手動刪除,也無法解決服務響應問題
3.查看/usr/local/apache/logs/error.log日誌,發現如下信息

Fri Jun 13 11:59:24 2008] [alert] httpd: Could not determine the server‘s fully qualified domain name, using 127.0.0.1 for ServerName 
semget: No space left on device

起初以為是磁盤空間不足,但是用 df -h命令查看,並沒有磁盤空間不足問題:
技術分享圖片

再繼續排查,找到了關於使用ipcs查看系統的信號量的方案。查看結果為:
技術分享圖片

最終使用如下命令清理了已經滿了的信號量,再次查看ipcs數量結果為:
for i inipcs | grep nobody | awk ‘{print $2}‘; do ipcrm -s $i; done
技術分享圖片

終於,Apache能正常啟動了,http能正常提供服務了。

三、問題總結
如果apache沒有正常Stop掉的話,它的信號量是不會自動清除的,導致其一直滯留在內存中,也就導致了error日誌中看到的空間不足問題,此時其實不是磁盤空間不足,而是內存中沒有了存放信號量的空間。於是,需要使用命令清除sem信號量後,apache就可以正常啟動了。

記一次處理Apache無法啟動的問題