本地主机不适用于 OS X Yosemite

har*_*ryg 11 localhost macos

我的 Mac 本地 apache 服务器正在运行 当我访问 localhost 时,我会看到标准的“It Works”页面。“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
Run Code Online (Sandbox Code Playgroud)

但是scutil给出了这个:

harryg$ scutil -r localhost
Reachable,Local Address,Directly Reachable Address
Run Code Online (Sandbox Code Playgroud)

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

编辑

似乎没有任何东西在监听端口 80。当我运行时,sudo lsof -iTCP:80 -sTCP:LISTEN我没有得到任何输出。Apache 似乎正在运行 - 我已经apachectl多次运行restart`。

Mat*_*son 11

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

sudo apachectl -t
Run Code Online (Sandbox Code Playgroud)

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


小智 0

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