Apache VirtualHost慢查找

时间:2011-09-25 17:40:04

标签: apache virtualhost httpd.conf

我终于管理了如何为我的虚拟主机需求正确配置httpd.conf。这是httpd.conf文件的相关部分

NameVirtualHost *:80

<VirtualHost *:80>
  ServerName localhost
  DocumentRoot /Applications/XAMPP/htdocs/
</VirtualHost>

<VirtualHost *:80>
  ServerName test.local
  DocumentRoot /Applications/XAMPP/htdocs/test/
</VirtualHost>

<VirtualHost *:80>
  ServerName work.local
  DocumentRoot /Applications/XAMPP/htdocs/work/
</VirtualHost>

当我访问localhost上的任何内容时(即http://localhost/phpmyadmin),一切都非常快。 每当我访问test.local或work.local(或我配置的其他人)时,它会在查找上花费10-15秒。以下请求处理正确且速度非常快但在一分钟左右不活动后,必须再次查找。

这是我的/ etc / hosts文件

127.0.0.1       localhost
255.255.255.255 broadcasthost
#::1             localhost
fe80::1%lo0     localhost

# Virtualhosts
127.0.0.1       test.local     work.local    yii.local

我怎么能解决这个恼人的问题?

5 个答案:

答案 0 :(得分:67)

将您的虚拟主机添加到第一行:

127.0.0.1       localhost test.local work.local yii.local

删除最后一行。

这应该可以解决问题。您的vhost现在是localhost的别名。在多行中拥有相同的IP地址并不是一个好主意。这只会混淆DNS缓存。

答案 1 :(得分:4)

对于使用Chrome并且虚拟主机查找速度较慢的用户,您需要将虚拟主机名更改为.local以外的其他名称,例如。将test.local更改为test.dev

解释和来源:http://bencrowder.net/blog/2012/10/slow-localhost-in-chrome/

答案 2 :(得分:3)

为我修复的是编辑 httpd-vhosts.conf 并更改所有实例:

<VirtualHost *:80>

为:

<VirtualHost 0.0.0.0:80>

解决主机需要大约2-5秒,现在是即时的。我没有必要在hosts文件中修改我的网站的顺序。这只是让它使用ipv4而不是ipv6,我敢打赌你不会使用它。

答案 3 :(得分:0)

您还应该为vhosts文件实现其他参数,例如单独的错误日志和服务器别名


DocumentRoot“D:/ xampp / htdocs / asd”
ServerName asd.com.br
ServerAlias asd.com.br
ErrorLog“logs / asd.log”
CustomLog“logs / asd.log”合并

答案 4 :(得分:0)

同样在httpd.conf文件中为ServerName设置ip对我有用

ServerName 127.0.0.1:80