这个周末我在 EC2 上构建了自己的服务器,一切进展顺利,我的服务器正在运行,至少运行了一段时间,直到关闭。
首先,我启动服务器sudo service apache2 status
,一切都很完美,我的服务器启动了,我能够浏览我的网页。
然后,当我这样做时,服务器突然停止运行(EC2实例运行正常)sudo service apache2 status
我得到这个输出:
apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Active: failed (Result: exit-code) since Tue 2019-07-16 01:28:00 UTC; 54min ago
Process: 18543 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
Main PID: 18565 (code=exited, status=1/FAILURE)
Jul 15 21:17:38 ip-172-31-9-236 systemd[1]: Starting The Apache HTTP Server...
Jul 15 21:17:38 ip-172-31-9-236 systemd[1]: Started The Apache HTTP Server.
Jul 16 01:28:00 ip-172-31-9-236 systemd[1]: apache2.service: Main process exited, code=exited, status=1/FAILURE
Jul 16 01:28:00 ip-172-31-9-236 systemd[1]: apache2.service: Failed with result 'exit-code'.
我真的不知道为什么。
我使用来自 amazon 的 EC2 和来自 cerbot 的 route53 和 https。/var/log/apache2/error.log
没有任何输出。
答案1
最后我自己找到了解决方案。
当我这样做时,cat /var/log/apache2/error.log.1
我发现了这个失败Identifier removed: AH00144: couldn't grab the accept mutex
。
经过一番研究,我发现了这一行/etc/apache2/apache2.conf
#Mutex file:${APACHE_LOCK_DIR} default
。我没有取消注释,而是Mutex posixsem
在该行后面添加了这一行。