web-dev-qa-db-fra.com

Apache VirtualHost recherche lente

J'ai enfin réussi à configurer correctement httpd.conf pour mes besoins en virtualhost. Ceci est la partie pertinente du fichier 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>

Lorsque j'accède à n'importe quoi sur localhost (c'est-à-dire http: // localhost/phpmyadmin ) tout est très rapide . Chaque fois que j'accède à test.local ou work.local (ou à d'autres que j'ai configurés), il prend 10 à 15 secondes. sur la recherche. Les demandes suivantes sont gérées correctement et c'est très rapide, mais après une minute d'inactivité environ, il doit rechercher à nouveau.

Ceci est mon fichier/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

Comment puis-je résoudre ce problème ennuyeux?

29
Leonardo Rossi

Ajoutez vos hôtes virtuels à la première ligne:

127.0.0.1       localhost test.local work.local yii.local

Et supprimez la dernière ligne.

Cela devrait faire l'affaire. Vos hôtes virtuels sont maintenant un alias pour localhost. Ce n'est pas une bonne idée d'avoir la même adresse IP sur plusieurs lignes. Cela confond simplement le cache DNS.

66
Alexander Janssen

Si vous utilisez Chrome et que la recherche d'hôte virtuel est lente, vous devez remplacer le nom d'hôte virtuel par un autre nom que .local, par exemple. remplacez test.local par test.dev.

Explication et source ici: http://bencrowder.net/blog/2012/10/slow-localhost-in-chrome/

4
xdim222

Ce qui a réglé le problème pour moi, c’est la modification de httpd-vhosts.conf et la modification de toutes les instances de:

<VirtualHost *:80>

à:

<VirtualHost 0.0.0.0:80>

Cela prenait environ 2 à 5 secondes pour résoudre l’hôte, c’est maintenant instantané. Je n'ai pas eu à modifier l'ordre de mes sites dans mon fichier hosts. Cela le fait simplement utiliser ipv4 au lieu de ipv6 que je parie que vous n'utilisez pas de toute façon.

3
Justin

Définir également l'adresse IP pour ServerName dans le fichier httpd.conf a fonctionné pour moi

ServerName 127.0.0.1:80
0
Mihai Crăiță

Vous devriez également implémenter d’autres paramètres dans votre fichier vhosts, comme des journaux d’erreurs séparés et un alias de serveur.


DocumentRoot "D:/xampp/htdocs/asd"
Nom du serveur asd.com.br
ServerAlias ​​asd.com.br
ErrorLog "logs/asd.log"
CustomLog "logs/asd.log" combinés 

0
lucasmx