【发布时间】:2014-08-24 18:43:01
【问题描述】:
我在 MacOsX 10.9.3 上并且我的 apache 正在运行:
$ sudo apachectl start
org.apache.httpd: Already loaded
Apache 正在运行,并且在我的 /etc/hosts 中:
127.0.0.1 qwertyuiopoiuytrewq.mnbvcxzxcvbnm.com
我可以 ping qwertyuiopoiuytrewq.mnbvcxzxcvbnm.com,但我的浏览器看不到
http://qwertyuiopoiuytrewq.mnbvcxzxcvbnm.com/
这是我的虚拟主机:
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /path/to/root
ServerName qwertyuiopoiuytrewq.mnbvcxzxcvbnm.com
ServerAlias qwertyuiopoiuytrewq.mnbvcxzxcvbnm.com
</VirtualHost>
而 curl 没有得到任何东西
$ curl http://qwertyuiopoiuytrewq.mnbvcxzxcvbnm.com
curl: (7) Failed connect to qwertyuiopoiuytrewq.mnbvcxzxcvbnm.com:80; Connection refused
怎么了?也许Apache正在监听的端口?如何检查我的 apache 服务使用了哪个端口?
$ lsof -i | grep apache
没有任何反应...我尝试了同事建议的命令
$ lsof -i :80
但是……
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Google 13069 simonegentili 84u IPv4 0xec5b6b421454cd89 0t0 TCP 192.168.11.46:52061->fa-in-f95.1e100.net:http (ESTABLISHED)
Google 13069 simonegentili 105u IPv4 0xec5b6b421304ed89 0t0 TCP 192.168.11.46:52100->mil02s05-in-f13.1e100.net:http (ESTABLISHED)
Google 13069 simonegentili 125u IPv4 0xec5b6b42172fe5a1 0t0 TCP 192.168.11.46:51372->mil01s16-in-f1.1e100.net:http (ESTABLISHED)
Google 13069 simonegentili 138u IPv4 0xec5b6b42145a7d89 0t0 TCP 192.168.11.46:52070->edge-star-shv-07-fra3.facebook.com:http (ESTABLISHED)
我已尝试检查 apache 正在侦听哪个端口:
$ cat /etc/apache2/httpd.conf | grep Listen
Apache 应该响应 80 端口。
# Listen: Allows you to bind Apache to specific IP addresses and/or
# Change this to Listen on specific IP addresses as shown below to
#Listen 12.34.56.78:80
Listen 80
例如,我不明白这个答案:
$ sudo apachectl start
org.apache.httpd: Already loaded
$ ps aux | grep httpd
simonegentili 26677 0.0 0.0 2444976 416 s001 U+ 6:13PM 0:00.00 grep httpd
【问题讨论】:
-
是否有任何 httpd 进程实际运行?似乎您的 apachectl 有一些供应商定制以使用一些替代服务设施(上游工具不报告 org.apache.httpd:"
-
错误日志的底部通常也很有帮助。
-
更新了我的答案。我“认为”apache 已开启,但我不确定。您能否阅读我的问题的底部以了解原因。
-
似乎您的问题出在系统上的服务控制上,因为输出中只有您的“grep”命令本身。
标签: apache virtualhost host