我使用命令
在Mac OS Mountain Lion上加载了Apache Web服务器sudo apachectl start
然而,当我尝试在Firefox中打开localhost时,我收到消息
未找到:在此服务器上找不到请求的URL /。位于localhost端口80的Apache / 2.2.21(Unix)DAV / 2服务器
我编辑了httpd.conf和httpd.conf.default来改变
#ServerName www.website.com
到
ServerName localhost
它仍然不起作用。有什么建议吗?
答案 0 :(得分:6)
要验证进程是否正在侦听端口80,您可以在终端窗口中使用lsof:
$ sudo lsof -iTCP:80 -sTCP:LISTEN
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd 88 root 4u IPv6 0xffffff8018804600 0t0 TCP *:http (LISTEN)
httpd 90 _www 4u IPv6 0xffffff8018804600 0t0 TCP *:http (LISTEN)
httpd 14843 _www 4u IPv6 0xffffff8018804600 0t0 TCP *:http (LISTEN)
这将验证您是否已成功启用apache。
(我安装了xcode,但我认为lsof是正常安装的一部分)
增加:
确认apache正在侦听端口80.我将采取的下一步是查看访问日志,以查看在请求'/'时记录的apache,如返回浏览器的错误apache所示。这是我的节目。请注意,http GET请求显示为返回码200(成功):
bash-3.2# grep 'GET / ' /private/var/log/apache2/access_log
127.0.0.1 - - [12/Sep/2012:16:46:45 -0400] "GET / HTTP/1.1" 200 44
127.0.0.1 - - [12/Sep/2012:16:49:44 -0400] "GET / HTTP/1.1" 200 44
您还可以通过刷新浏览器窗口确认浏览器请求的网址,然后确认apache会将新请求记录到access_log。
答案 1 :(得分:5)
您应检查“httpd.conf”中指定为“DocumentRoot”的文件夹的权限,并至少允许Apache用户的读取权限(默认情况下应为“_www”)。
否则你可以在“DocumentRoot”文件夹上执行“sudo chmod 755”
顺便说一句,您应该只修改“httpd.conf”文件,因为“httpd.conf.default”是一个默认配置,如果您想要恢复Apache原始配置,只需覆盖“httpd。 conf“文件与”httpd.conf.default“文件。
我假设您没有启用基于名称的虚拟主机,因为当您启用基于名称的虚拟主机时,主配置中的文档根将被忽略;相反,将使用匹配主机名的根,如果不匹配,则默认为第一个虚拟主机
最后,当您遇到问题时,首先要检查的是Apache错误日志文件
通过查看Apache配置文件中的“ErrorLog”指令,可以找到错误日志的位置。
答案 2 :(得分:1)
注释掉所有IfDefine !WEBSERVICE_ON
代码,保留内容 - Mountain Lion上没有WEBSERVICE
。