0.前言
今天突然发现我的美帝服务器太久没重启,且上次设置的自动定时重启没有成功,于是手动重启了一下。然而让我没想到的是,晚上访问我的jiacyer.com域名时,无法访问服务器,但ping是正常的,说明并不是服务器宕机,而是apache死了。于是,我踏上了找bug的道路。
1.apache死亡的原因
- 我使用“./etc/init.d/apache2 start”或者“./etc/init.d/apache2 restart”尝试重启的时候,报了如下错误,但stop功能正常:
- 根据提示,我使用了”journalctl -xe”命令查看细节,如图:
- 根据Error后的问题猜测,应该是跟使用root用户启动产生的问题,于是采用普通用户尝试重启apache服务,依旧失败:
- 上网搜寻相关资料,找到如下帖子:
error while starting apache as root
Apache has not been designed to serve pages while\n\trunning as root.
虽然英语水平有限,但凭借google翻译+自身有限的英语,大概是由于apache的设计原因,不推荐使用root用户启动apache服务。详细的解决方案,我是在以下帖子找到的:
Apache won’t start - httpd configtest won’t run as root?? - 结合图二的错误信息,对/etc/apache2/apache2.conf文件进行了查看,在第109行找到如下代码:1232.These need to be set in /etc/apache2/envvarsUser rootGroup root
回想起,这不知道是我什么时候动过的一行代码,不禁恍然大悟。把root改为普通用户之后,重启apache服务,问题解决!又可以重新访问我的网站了,又可以为广大网友提供奇奇怪怪的下载了!喜大普奔~
2.结语
英语真的很重要,不然google翻译多尴尬嘛!以及首次尝试在文章中加入图片!
Tips
- 图片看不清的话,可以在图片上方点击右键,在新的标签页中打开查看。
转载请注明出处,无偿提供。