本地主机无法在OS X Yosemite上运行


11

我的Mac的本地apache服务器正在运行 当我访问localhost时,会看到标准的“ It Works”页面。已缓存“有效”页面-实际上,该页面与127.0.0.1相同。当我访问127.0.0.1时,chrome给了我Error code: ERR_CONNECTION_REFUSED。所以我跑了telnet。结果:

harryg$ telnet localhost 80
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
Trying fe80::1...
telnet: connect to address fe80::1: Connection refused
telnet: Unable to connect to remote host

但这scutil给出了:

harryg$ scutil -r localhost
Reachable,Local Address,Directly Reachable Address

知道为什么它不起作用吗?apache是​​否在其他端口上监听?如果是这样,我该如何检查?我有一些本地.dev虚拟主机,添加到主机文件中的某些本地虚拟主机应可以访问这些虚拟主机。例如,127.0.0.1 home.dev但它们也给出上述错误。

编辑

似乎在端口80上没有监听。运行时,sudo lsof -iTCP:80 -sTCP:LISTEN我没有输出。不过,Apache似乎正在运行-我已经apachectl多次运行过restart。


您能否检查您的网络共享是否正在使用此工具;clickontyler.com/web-sharing
siniradam'14

localhost的工作正常。阿帕奇不是。更新您的问题以代表这一事实,并且不要忘记包括Apache配置及其日志文件的相关内容。
Daniel B

我有一个类似的问题,并且能够解决:stackoverflow.com/questions/26454160/…–
Xaver

在Mavericks / Yosemite上执行此操作的正常方法是从端口80转发至端口8080。有关如何使用pfctl进行设置的示例,请参见gist.github.com/mindw0rk/dcc6c02a92b49bde0f13,然后更改您的apache配置以使用收听8080。您将能够连接到端口80,流量将转发到apache。(在我们的
开发商

Answers:


11

使用以下命令检查您的Apache配置:

sudo apachectl -t

这会测试配置文件,并告诉您是否有错误。sudo apachectl start由于某种原因,运行不会将配置文件语法错误输出到日志。


完全相同的问题在这里。sudo apachectl -t返回Syntax OK。然后怎样呢?
Pmpr

2

此命令应该告诉您Apache正在侦听哪个端口和哪个IPv(4/6)地址:

sudo lsof -P -n -iTCP -sTCP:LISTEN | grep httpd

如果什么也没听,您从中得到什么?

sudo serveradmin status web
sudo serveradmin settings web
ps -acx | grep http

不得已时:

sudo serveradmin stop web

打开Console.app并放置一个书签

sudo serveradmin start web

检查日志


有一个配置文件问题,使Apache根本无法启动!缓存的页面使我相信它正在为本地主机运行,而不是为本地IP运行。
哈里格

好的,服务器管理员触发httpd,并且通常会生成启动日志,您是否能够解决该问题?错误消息plz(对于其他成员)是什么?
Florian Bidabe 2014年

是的,解决了。我忘了取消注释apache vhosts模块,因此Apache VirtualDocumentRoute在我的vhosts配置文件中看到错误。
哈里格

2
嘿哈里格,如果您有机会将状态更新为已解决。
2014年

启动Apache时,我遇到了这个问题,并且出现了静默失败。由于配置中的语法错误,日志中没有任何内容。这个命令浮出水面:sudo apachectl -t
马特·吉布森

0

我相信默认端口是8080,但是您可以在httpd.conf文件中检查Apache正在侦听的端口。


8080不起作用,并且我的配置文件中包含侦听80。
哈里格

您能看到Apache正在运行,也许带有“ ps aux”吗?另外,错误日志是否显示任何内容?默认位置应为/ var / log / apache2 / error_log

输出是netstat -tulpn | grep :80什么?
sardean 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.