Apache 2.2 localhost VirtualHosts 问题

Posted

技术标签:

【中文标题】Apache 2.2 localhost VirtualHosts 问题【英文标题】:Apache 2.2 localhost VirtualHosts problems 【发布时间】:2010-11-30 02:13:50 【问题描述】:

我正在尝试使用虚拟主机设置我的开发机器,以便我可以使用简单的 url 访问我的开发项目,例如 http://project.dev/ 而不是整个 http://127.0.0.1/dev/path /to/root/of/project/ 类型的 url。

现在,我知道已经有很多关于此的教程和问题已经得到解答,但是在尝试了很多之后,我觉得我在这里绕圈子。

问题很简单:在设置了我的 hosts 文件和我的虚拟主机后,任何访问虚拟主机的尝试都会不可挽回地显示我的 服务器 DocumentRoot 的内容。

我的主机文件:

127.0.0.1       localhost
127.0.0.1       mydomain.dev
255.255.255.255 broadcasthost
::1             localhost
fe80::1%lo0     localhost

我的 httpd-vhosts.conf

NameVirtualHost *:80

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot /Users/pilot/Sites/
</Virtualhost>

<VirtualHost *:80>
    ServerName mydomain.dev
    DocumentRoot /Users/pilot/Sites/devel/vytamin/dev/
</VirtualHost>

我确定 httpd-vhosts.conf 文件已加载到我的 httpd.conf 中,如果我将虚拟主机文档根目录指向错误的文件夹,我会收到警告。

我尝试将localhost虚拟主机设置为以下,但没有成功。

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot /Users/pilot/Sites/devel
</Virtualhost>

以下 URL 都显示了我的 httpd.conf 文件中定义的服务器的 DocumentRoot,并且似乎忽略了我的 VirtualHosts 中定义的 DocumentRoot。

http:// 127.0.0.1/
http:// localhost/
http:// mydomain.dev/

我在 Mac OSX 10.5 Leopard 上运行 Apache2.2,但不是 mac os 附带的。我在 /usr/local/apache2 和网络共享下编译了自己的 IS disabled

我看不出我的设置有什么问题,所以我希望社区会这样做! 感谢您的帮助!

【问题讨论】:

糟糕,抱歉,感谢 Yannick 指出这一点,我也会在那里提问。干杯! 当我知道我已经回答了这个问题时,我觉得这个问题的答案为零有点奇怪......我在 Serverfault 上回答了这个版本。 :) 我是这些网站的新手,并试图糊弄过去!会到达那里!但感谢您的建议。我在某处读到有人遇到类似的问题,并且在重新启动机器后无需干预即可解决。这让它点击了! 我遇到了一个问题,添加这一行解决了它:NameVirtualHost *:80 那到底是什么? 【参考方案1】:

好的,我找到了问题!

上面的配置很好,只是我的apache没有正常重启。 apache_ctl gracefulapache_ctl restart 都没有终止我正在运行的所有 httpd 进程,因此无法正确重新加载我的配置文件中的更改。 一旦我杀死了剩余的进程并真的重新启动了 apache,它就可以工作了......

已解决,但发现这个我觉得很愚蠢!

现在我有一个守护进程需要解决!

【讨论】:

'apache_ctl status' 返回什么,可能是 apache 创建的 Pidfile 和 apache_ctl 查找的 Pidfile 不同。

以上是关于Apache 2.2 localhost VirtualHosts 问题的主要内容,如果未能解决你的问题,请参考以下文章

Apache 升级 2.2 -> 2.4 问题

子域的 Apache 2.2 和 tomcat 重定向

Apache配置虚拟主机后,不能访问localhost的问题

无法访问 phpMyAdmin。我的 wampserver 版本是 2.2 localhost/phpmyadmin/

kvm日常管理

安装Apache遇到的一点问题