Apache VirtualHost медленный поиск - PullRequest
31 голосов
/ 25 сентября 2011

Наконец-то мне удалось правильно настроить 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>

Когда я получаю доступ к чему-либо на локальном хосте (то есть 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 ]

68 голосов
/ 26 сентября 2011

Добавьте ваши виртуальные хосты в первую строку:

127.0.0.1       localhost test.local work.local yii.local

И удалите последнюю строку.

Это должно помочь.Ваши vhosts теперь псевдоним для localhost.Не стоит иметь один и тот же IP-адрес в нескольких строках.Это просто смущает DNS-кеш.

4 голосов
/ 13 сентября 2013

Для любого, кто использует Chrome и все еще получает медленный поиск виртуального хоста, вам нужно изменить имя виртуального хоста на что-то другое, чем .local, например. изменить test.local на test.dev.

Объяснение и источник здесь: http://bencrowder.net/blog/2012/10/slow-localhost-in-chrome/

3 голосов
/ 12 июля 2014

Что исправило для меня, так это редактирование httpd-vhosts.conf и изменение всех экземпляров:

<VirtualHost *:80>

до:

<VirtualHost 0.0.0.0:80>

Потребовалось около 2-5 секунд, чтобы разрешить хост, теперь это мгновенно. Мне не нужно было изменять порядок моих сайтов в файле hosts. Это просто заставляет его использовать ipv4 вместо ipv6, который, как я уверен, вы все равно не используете.

0 голосов
/ 20 июня 2015

Также у меня сработала настройка ip для ServerName в файле httpd.conf

ServerName 127.0.0.1:80
0 голосов
/ 04 февраля 2013

Вы должны также добавить другие параметры в ваш файл vhosts, такие как отдельные журналы ошибок и псевдоним сервера


DocumentRoot "D: / xampp / htdocs / asd"
ServerName asd.com.br
ServerAlias ​​asd.com.br
ErrorLog "logs / asd.log"
CustomLog "logs / asd.log" в сочетании

...