Apache-2.4
為什麼 Apache 試圖在啟動時殺死一個程序,為什麼這會導致 Apache 啟動失敗?
我正在安裝一個新證書,就像我以前做過幾十次一樣。我複制了名稱 crt、key、bundle 文件作為備份,並為新文件提供了舊文件的名稱。然後我重新啟動了apache。它失敗了。它給出瞭如下所示的錯誤。
我嘗試重新啟動伺服器。再次檢查,沒有區別。我刪除了新上傳的文件並替換為備份副本,然後再次嘗試重新啟動。它仍然給出相同的資訊。我以前從未見過這個錯誤。配置文件沒有任何更改。
1)了解Apache內部工作原理的人,為什麼會試圖殺死一個不存在且找不到的程序?
2)既然它不存在,那為什麼會阻止 Apache 啟動?
須藤 systemctl 狀態 httpd:
● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since Thu 2018-12-06 23:12:20 EST; 9s ago Docs: man:httpd(8) man:apachectl(8) Process: 3615 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=1/FAILURE) Process: 3613 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE) Main PID: 3613 (code=exited, status=1/FAILURE) Dec 06 23:12:20 myHostsystemd[1]: Starting The Apache HTTP Server... Dec 06 23:12:20 myHostsystemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE Dec 06 23:12:20 myHostkill[3615]: kill: cannot find process "" Dec 06 23:12:20 myHostsystemd[1]: httpd.service: control process exited, code=exited status=1 Dec 06 23:12:20 myHostsystemd[1]: Failed to start The Apache HTTP Server. Dec 06 23:12:20 myHostsystemd[1]: Unit httpd.service entered failed state. Dec 06 23:12:20 myHostsystemd[1]: httpd.service failed.
sudo journalctl -xe 只是說同樣的話。
伺服器執行centOS 7。Apache版本為2.4.6。
您的服務部門已
kill
要求ExecStop
採取行動,所以這不是 apache 試圖殺死他的孩子,而是systemd試圖殺死已經停止存在的程序。而apache無法啟動的主要原因就是這個程序退出。我敢打賭,原因在 apache 的 main 中說明
error_log
。
- RHEL / Red Hat / CentOS / Fedora Linux Apache 錯誤文件位置:
/var/log/httpd/error_log
- Debian / Ubuntu Linux Apache 錯誤日誌文件位置:
/var/log/apache2/error.log
- FreeBSD Apache 錯誤日誌文件位置:
/var/log/httpd-error.log