今天更新完程序,重啟apache的時候,第一遍正常重啟,1分鍾之后第二次重啟的時候報錯了。
執行service httpd restart之后:
報錯:
Job for httpd.service failed. See 'systemctl status httpd.service' and 'journalctl -xn' for details.
此時查看apache狀態已經處於stop.
執行 ps -ef | grep httpd 命令查看端口占用的時候,已經沒有httpd進程,apache掛掉了。
這時需要先去查看日志
cat error_log之后找到這一句(最新的報錯內容):
suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
順勢找到對應的博客,地址:https://www.shikexu.com/archives/835
結合實際情況,符合博主所說的:用戶進程通信信號量達到限制導致
查看解決辦法:
執行命令查看信號量:ipcs -s
-a:顯示全部可顯示的信息; -q:顯示活動的消息隊列信息; -m:顯示活動的共享內存信息; -s:顯示活動的信號量信息。
正如博主所展示的一樣,服務器在apache未啟動的情況下,占用了很多通道
接下來,清除信號量
ipcs -s | perl -ane '/^0x00000000/ && `ipcrm -s $F[1]`'
清除后重啟apache,問題解決
