问题描述:由于删除了/private/var/log下面的日志,导致重启电脑后apache无法正常工作。
删除log的初衷是:当系统用久了,日志文件占据了几十个G的硬盘容量。
造成的后果:重启电脑后apache无法正常运行,访问localhost或127.0.0.1都会无法找到服务器。
探索:问题出现后,由于$ sudo apachectl start不会报任何错,但是访问localhost或127.0.0.1始终失败。
可能情况1: 没有监听80端口
排除可能1:我的apache,我很清楚我监听了80端口的。
可能情况2:hosts文件配置有问题
排除可能2:localhost以前就没问题,而且没改过,排除。
怀疑点:80端口被占用
排除怀疑点:终端运行$ sudo lsof -iTCP:80 -sTCP:LISTEN,没有发现其他程序占用,排除这个疑点。
这就奇怪了!于是。。。(终端$ sudo /usr/sbin/httpd -k start)问题出现了:No such file or directory: httpd: could not open error log file /private/var/log/apache2/error_log.
想起来昨天删除了log下的所有日志文件,最后创建文件夹apache2,就ok了。
解决方法是:在log目录下,新建一个名为apache2的文件夹(终端$ sudo mkdir
/private/var/log/apache2),然后重启apache(终端$ sudo apachectl
restart),会自动在apache2里面重新生成apache需要的日志,便可正常访问和使用apache服务了。