Mac OS Mountain Lion - Apache运行但localhost无法运行

时间:2012-09-12 20:19:55

标签: macos apache unix localhost osx-mountain-lion

我使用命令

在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

它仍然不起作用。有什么建议吗?

3 个答案:

答案 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