在本地开发设置中使用 apache 后,它突然停止工作。我尝试 ping 以前使用的自定义域,但没有得到任何结果。
我已经根据 apache 检查了语法是否正确。我已确保我的自定义域位于我的 hosts 文件中。一切似乎都正常。
我试过了sudo bash -x /usr/sbin/apachectl -k start
,还是没用。错误或访问日志没有显示任何错误或警告。
我还检查了我尝试访问的文件夹的权限,并且drwxrwxrwx
文件夹内的随机文件具有权限-rwxrwxrwx@
,并且父文件夹具有权限drwxrwxrwx 34 _www staff 1.1K Feb 4 20:06 www
我的 httpd 文件没有任何变化,但我还是检查了一下。我尝试禁用它Include /private/etc/apache2/other/*.conf
(其中包含虚拟主机),并Include /private/etc/apache2/extra/httpd-vhosts.conf
在 httpd 文件末尾添加了一个以前正常工作的虚拟主机。
由于没有错误或标志,因此不确定如何继续。唯一可能改变的是权限,但更改后它确实有效。
编辑:还应该补充一下,我在使用 Mountain Lion。
答案1
经过更多的故障排除和研究后,我运行了该命令file -b /etc/hosts
,结果让我惊讶的是行尾发生了变化。要使hosts
文件正常工作,命令的输出只能是ASCII English text
,任何与行尾有关的内容都会破坏它并导致 DNS 停止工作。为了修复它,我运行了:
tr -d '\r' < /etc/hosts > output.txt
然后用新的替换了我的 hosts 文件output.txt
。之后,我再次使用 vim 添加换行符