《Apache 服務啟動不了》要點:
本文介紹了Apache 服務啟動不了,希望對您有用。如果有疑問,可以聯系我們。
維易PHP培訓學院每天發布《Apache 服務啟動不了》等實戰技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養人才。
{我是新手,從未遇到此問題,請各位大大勿噴}
事由:本日早上上班突然發現公司網站出現問題.經過排查,發現是Apache出現問題.首先檢查配置文件沒有出問題后,啟動服務發現Apache服務能啟動,但是沒法關閉,沒法重啟.這是什么原因呢?
解決方法:(出現任何問題首先要想到的就是日志)
查看httpd日志:
tail -f /var/log/httpd/error_log
果然,顯示了以下報錯:
[Mon Jul 11 09:04:07 2016] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)[Mon Jul 11 09:04:07 2016] [notice] Digest: generating secret for digest authentication ...
既然找到問題了,那我們就來辦理唄!
關鍵字:suEXEC
解決方法:
輸入:ipcs -s 看有沒有超過5個這命令是顯示信號量集的,什么是信號量集呢?哈哈 我也解釋不清楚,本身百度吧
然后顯示以下結果:
------ Semaphore Arrays --------key semid owner perms nsems 0x00000000 0 root 600 1 0x00000000 32769 root 600 1 0x00000000 3604482 4294967295 600 1 0x00000000 3637251 4294967295 600 1 0x00000000 4784132 4294967295 600 1 0x00000000 4816901 4294967295 600 1 0x00000000 1048582 4294967295 600 1 0x00000000 229383 4294967295 600 1 0x00000000 262152 4294967295 600 1 0x00000000 491529 4294967295 600 1 0x00000000 524298 4294967295 600 1 0x00000000 557067 4294967295 600 1 0x00000000 589836 4294967295 600 1 0x00000000 1081357 4294967295 600 1 0x00000000 1114126 4294967295 600 1 0x00000000 1146895 4294967295 600 1 0x00000000 1245200 4294967295 600 1 0x00000000 1277969 4294967295 600 1 0x00000000 1638418 4294967295 600 1 ??
執行后,顯示結果把我看懵了,怎么會這么多?
哎 那就辦理唄!
使用以下命令:
ipcs -s | grep apache | perl -e 'while (<STDIN>) { @a=split(/\s+/); print `ipcrm sem $a[1]`}'
然后再重啟Apache服務就辦理了.
以下是ipcs參數的詳解與用法:(本身用請勿噴)
ipcs可用來顯示當前Linux系統中的共享內存段、信號量集、消息隊列等的使用情況.命令示例:ipcs -a或ipc 顯示當前系統中共享內存段、信號量集、消息隊列的使用情況;ipcs -m 顯示共享內存段的使用情況;ipcs -s 顯示信號量集的使用情況;ipcs -q 顯示消息隊列的使用情況;ipcrm可用來刪除對應的共享內存段、信號量、消息隊列;命令示例:ipcrm -s semid 刪除對應的信號量集ipcrm -m shmid 刪除對應的共享內存段ipcrm -q msqid 刪除對應的消息隊列ipcrm自己只能實現單個資源的刪除,利用以下命令可實現批量刪除(zhangsj版權所有,呵呵):1.ipcs -s|grep 用戶名|cut -d" " -f2|xargs -n1 ipcrm -s2.ipcs -s|awk '/用戶名/{print $2}'|xargs -n1 ipcrm -s3.ipcs -s|awk '/用戶名/{system("ipcrm -s "$2)}'4.for i in echo `ipcs|grep 用戶名|cut -d" " -f2`; do ipcrm -s $i; done