我正在安装一个新证书,就像我以前做过几十次一样。我复制了名称 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
。/var/log/httpd/error_log
/var/log/apache2/error.log
/var/log/httpd-error.log