Od czasu uaktualnienia do systemu Mac OS X Lion (od Snow Leopard) zauważyłem, że przejście na hosta wirtualnego jest bardzo wolne (od około 3 sekund). Znalazłem szereg wskazówek (np. Nieużywanie TLD .local), które mogą rozwiązać ten problem, ale nie dotyczą mojej konfiguracji.
Moja konfiguracja jest dość prosta: - Apache 2 (dostarczany z Lion) - włączony PHP - dodano kilka wirtualnych hostów - zainstalowane pakiety Mail i SMTP Pear
Plik hosts Apache wygląda następująco:
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
127.0.0.1 tbi.dev
127.0.0.1 www.tbi.dev
127.0.0.1 test1.tbi.dev
127.0.0.1 test2.tbi.dev
127.0.0.1 psa.dev
127.0.0.1 snd.dev
Plik wirtualnych hostów Apache wygląda następująco:
<VirtualHost *:80>
DocumentRoot "/Users/Bart/Sites/tbi"
ServerName tbi.dev
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/Users/Bart/Sites/tbi"
ServerName tbi.dev
ServerAlias *.tbi.dev www.tbi.dev
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/Users/Bart/Sites/psa"
ServerName psa.dev
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/Users/Bart/Sites/sandbox"
ServerName snd.dev
</VirtualHost>
Konfiguracja jest w zasadzie identyczna z moją konfiguracją w systemie Snow Leopard, ale wydajność Apache w rozwiązywaniu hostów wirtualnych jest znacznie inna. Korzystam z systemu Mac OS X Lion 10.7.2, ale problem występował już przy uruchomieniu 10.7.1.
Może się to wydawać niewielkim problemem, ale gdy uzyskujesz dostęp do wirtualnych hostów kilkaset razy dziennie, stanowi to znaczną stratę czasu, jak możesz sobie wyobrazić.
źródło
Odpowiedzi:
Długie limity czasu DNS są prawie zawsze oznaką problemów z IPv6.
Czy potrzebujesz łączności IPv6 do apache?
Jeśli nie, sugeruję zmianę
w
Lub całkowicie wyłącz łączność IPv6.
źródło
Właśnie na to wpadłem.
Spowoduje to ustawienie IPv6 w konfiguracji sieci na Wył ...
Ale .. niestety to nie rozwiązało problemu rozwiązania DNS (może po ponownym uruchomieniu systemu). Naprawdę pomogło dodanie adresów IP w stylu ipv6 do / etc / hosts w następujący sposób:
wget http: //project.local teraz pokazuje natychmiast
zamiast zawieszać się przez 5 sekund na Resolving project.local.
źródło
127.0.0.1
i problem został całkowicie rozwiązany.Na MacOSX Lion
.local
domena została „zarezerwowana” dla Multicast DNS Resolver (bonjour).Oznacza to, że wyszukiwanie dowolnej domeny z rozszerzeniem .local spowoduje wyszukiwanie mDNS (do 5 s) przed / etc / hosts.
Poprawki:
.dev
)źródło
dscl
wyjątkowa strategia jest całkiem sprytna. @ artur-bodera twój link wygasł, ale zarchiwizowali swój stary blog na github github.com/icebourg/itandme-archive/blob/master/posts/2011/08/…Zajrzyj na tego bloga, aby zobaczyć, czy to pomaga, szczególnie podkreślając problem nr 2:
źródło
To działa.
Korzystam z tego rozwiązania
źródło
Ten sam błąd w Mavericks.
Rozwiązane, gdy umieszczam definicje moich hostów lokalnych na początku
/etc/hosts
, w następujący sposób:źródło
Spróbowałbym zmienić:
do
źródło