不是重复的,请耐心等待,尝试将其标记为重复。谢谢。
环境:
- Mac OS X EL Capitan 64 位
- Apache 2.4.25(Unix)
平
ping 127.0.0.1
返回:
来自 127.0.0.1 的 64 字节:icmp_seq=0 ttl=64 时间=0.081 毫秒
来自 127.0.0.1 的 64 字节:icmp_seq=1 ttl=64 时间=0.111 毫秒
...
远程登录:
telnet 127.0.0.1 80
返回:
尝试 127.0.0.1…
telnet:连接到地址 127.0.0.1:连接被拒绝
telnet:无法连接到远程主机
删除:
scutil -r localhost
返回:
可达性
配置测试:
apachectl configtest
返回:
语法正确
$PATH
/usr/local/bin
/usr/bin
/bin
/usr/local/sbin
/usr/sbin
/sbin
多次apachectl restart
重启系统均失败!我的 Apache 安装存在什么问题?
更新 1
卷曲
curl -v http://127.0.0.1
返回:
重建 URL 至:http://127.0.0.1/
尝试 127.0.0.1...
连接到 127.0.0.1 端口 80 失败:连接被拒绝
无法连接到 127.0.0.1 端口 80:连接被拒绝
关闭连接 0
curl:(7)无法连接到 127.0.0.1 端口 80:连接被拒绝
更新 2
lsof
lsof -i:80
返回:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Google 349 peyman 126u IPv4 0x23528848eb5fe4db 0t0 TCP 192.168.1.102:49238->ec2-54-197-238-119.compute-1.amazonaws.com:http (ESTABLISHED)
Google 349 peyman 147u IPv4 0x23528848ec35769b 0t0 TCP 192.168.1.102:49286->151.101.193.69:http (ESTABLISHED)
Google 349 peyman 164u IPv4 0x23528848ebfa413b 0t0 TCP 192.168.1.102:49290->ec2-23-23-98-233.compute-1.amazonaws.com:http (ESTABLISHED)
Google 349 peyman 170u IPv4 0x23528848ebfa031b 0t0 TCP 192.168.1.102:49242->pixel.quantserve.com:http (ESTABLISHED)
Google 349 peyman 188u IPv4 0x23528848ec330dbb 0t0 TCP 192.168.1.102:49248->151.101.65.69:http (ESTABLISHED)
Google 349 peyman 189u IPv4 0x23528848ebe7185b 0t0 TCP 192.168.1.102:49308->ec2-23-21-110-0.compute-1.amazonaws.com:http (ESTABLISHED)
Google 349 peyman 208u IPv4 0x23528848ec35885b 0t0 TCP 192.168.1.102:49272->a72-247-178-186.deploy.akamaitechnologies.com:http (ESTABLISHED)
答案1
我没有看到您发布的内容中有任何证据表明 Apache 甚至在监听端口 80;我只看到其他系统上有到端口 80 的出站连接。该telnet 127.0.0.1 80
命令未显示 Apache 可访问;如果您使用端口 81、85、800 等,您将看到相同的结果。发出命令netstat -a | grep http | grep LISTEN
;如果 Apache 确实在监听端口 80 上的连接,您应该会看到一行末尾带有“*.http”和“LISTEN”的行。例如,请参阅在 OS X El Capitan 下运行 Apache Web 服务器。
如果您没有看到一行输出表明它正在监听端口 80,而只是返回到 Bash shell 提示符,则发出该命令,sudo apachectl start
然后再次发出 netstat 命令。如果您现在看到一个进程正在监听端口 80,则可以再次尝试 telnet 命令。如果 Apache 在端口 80 上响应,则您应该看到此时您可以Escape character is '^]'.
发出该命令HEAD / HTTP/1.0
,然后按几次回车键。您应该看到 Apache 以类似于以下输出的输出进行响应:
$ telnet 127.0.0.1 80
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
HEAD / HTTP/1.0
HTTP/1.1 200 OK
Date: Sat, 11 Mar 2017 01:44:13 GMT
Server: Apache/2.4.18 (Unix) PHP/5.5.38
Last-Modified: Fri, 03 Feb 2017 21:44:57 GMT
ETag: "a8-547a7315f6840"
Accept-Ranges: bytes
Content-Length: 168
Connection: close
Content-Type: text/html