it-swarm.com.de

Wie kann ich das langsame Auflösen/Laden von localhost/virtualhost (eine Verzögerung von 2-3 Sekunden) unter Mac OS X Lion unterbinden?

Seit dem Einrichten meiner Entwicklungsumgebungen auf Mac OS X Lion (brandneues Macbook Air, das im Januar 2012 erworben wurde), ist mir aufgefallen, dass die Auflösung eines virtuellen Hosts zum ersten Mal sehr langsam ist (etwa 3 Sekunden), danach aber schnell Ich lade es regelmäßig weiter.

Wenn ich es einige Minuten unangetastet lasse und dann erneut lade, ist das erste Aufladen (wieder) schmerzhaft langsam; scheint etwas zwischengespeichert zu werden. 

Wie unten zu sehen, verwende ich nicht die .local-TLD.

Mein Setup: Apache 2 - MySQL - PHP wurde installiert und aktiviert - ein paar virtuelle Hosts wurden hinzugefügt, von denen einer für localhost erstellt wurde

Meine/etc/hosts:

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

Mein virtueller Host in username.conf eingerichtet: 

NameVirtualHost *:80

<Directory "/Users/myusername/Sites/">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot /Users/myusername/Dropbox/dev_envs/
</VirtualHost>
<VirtualHost *:80>
    ServerName myproject.dev
    DocumentRoot /Users/myusername/Dropbox/dev_envs/myprojectname
</VirtualHost>
87
Adam Gries

Ich hatte genau das gleiche Problem und es hat mich verrückt gemacht!

Fügen Sie alle Ihre Hosts-Dateieinträge für localhost in eine Zeile ein:

127.0.0.1 localhost myproject.dev myotherproject.dev
::1 localhost
fe80::1%lo0 localhost

Arbeitete wie ein Zauber für mich. Scheint wie ein Fehler in Lion.

144
Jeremy Dunn

Es gibt eine weitere Ausgabe von 10.7. * Bis 10.8.4 für Websites, die auf ".local" enden, was fünf Sekunden lang auslöst. Details und Lösung mit freundlicher Genehmigung von Bram (uns) Van Damme unter folgendem Link: 

http://www.bram.us/2011/12/12/mamp-pro-slow-name-auflösen-mit-local-vhosts-in-lion-fix/

"Standardmäßig wird jeder Hostname, der auf .local endet, als Bonjour - Host behandelt, anstatt die DNS - Servereinträge in den Netzwerkeinstellungen abzufragen.

Um dieses Problem zu beheben (ohne jeden vhost umzubenennen), müssen Sie IPv6-Einträge für jeden Ihrer vhosts in Ihrer Datei/etc/hosts hinzufügen: "

::1 mysite.local
fe80::1%lo0 mysite.local
127.0.0.1 mysite.local
61
Cleverlemming

Ich hatte das gleiche Problem, auch bei Lion. 

Seltsamerweise war meine Lösung das Gegenteil von Jeremys. Ich hatte eine ganze Reihe von someproject.dev-Einträgen in einer Zeile in/etc/hosts. Das Laden einer Website auf eine von ihnen dauerte beim ersten Mal für immer, etwa eine Minute oder so. Wenn ich es innerhalb von etwa 5 Sekunden wieder benutzte, war es sehr schnell, aber viel länger und würde wieder eine Minute dauern. Ich hatte alles Mögliche vermutet, MySQL-Verbindungen, Ruby-Versionen, Rails-Bugs, Apache, Phusion Passenger. Bis ich schließlich auf die Konsole schaute und merkte, dass DNS-Lookups versucht wurden.

Also habe ich alle in getrennte Linien gebracht:

127.0.0.1 localhost

127.0.0.1 myproject.dev

127.0.0.1 myotherproject.dev

Und plötzlich war alles wieder bissig. Gleiche auf meinen beiden Maschinen.

24
Flemming Funch

Die Angabe des gleichen Hosts für IPv6 :: 1 hat mir geholfen.

127.0.0.1 something.local.mydomain.org
::1 something.local.mydomain.org
12
Aram

Stellen Sie sicher, dass die IP-v6-Einträge nicht in der Zeile mit localhost stehen

::1 localhost

die IP-v6-Einträge gehen in eine separate Zeile

fe80::1%lo0 here and_here

Es ist jetzt manchmal sehr schnell, aber es gibt seltene Ausnahmen, bei denen die alten Lags zurückkommen. Sie können jedoch auch andere Gründe haben.

8
user902664

Unter OSX El Capitan funktionierte für mich das Erstellen eines doppelten IPv6-Eintrags direkt über dem IPv4-Eintrag

fe80::1%lo0 demo.test.dev
127.0.0.1   demo.test.dev
7
concept47

Sicherzustellen, dass die Host-Namen am Anfang der Datei definiert sind, hat für mich den Unterschied gemacht. __ Standardmäßig ist die Zeile 127.0.0.1 localhost bereits am Anfang.

3
Erik

Ich hatte das gleiche Problem und stellte fest, dass es durch das Aktivieren von IPv6 in meinem LAN verursacht wurde, wobei jedoch IPv6 nicht ordnungsgemäß zwischen meinem Netzwerk und meinem Internetdienstanbieter konfiguriert wurde. Anscheinend hat der IPv6-DNS-Server Vorrang vor IPv4-DNS, wenn dem Client beides gegeben wird. Es dauerte einige Sekunden (bei jedem Versuch), bis der Client feststellte, dass der IPv6-DNS-Server nicht erreichbar war oder fehlte und er dann auf IPv4-DNS-Server zurückgreifen konnte.

Ich hatte das gleiche Problem und merkte schließlich, dass ich denselben Host-Eintrag zweimal in derselben Zeile hatte:

z.B.

127.0.0.1 localhost Host1 Host2 Host3 Host4 Host5 Host1 Host6

Ich habe die zweite Instanz des gleichen Hosts (im obigen Beispiel - Host1) - entfernt, und die Dinge beschleunigten sich sofort.

Fühlte mich ein bisschen dumm, als ich das entdeckte, aber wenn Sie 10 lange Host-Namen in derselben Zeile haben und häufig hinzugefügt/entfernt werden, kann dies leicht übersehen werden.

1
Aaron

Hinweis: Ich verwende Windows und XAMPP, aber während der Untersuchung des Problems hatten viele Leute das gleiche Problem unter Windows und Mac. Antwort als Referenz für alle, die diese Frage finden, da ich stundenlang versucht habe, eine für mich geeignete Lösung zu finden:

Ich habe viele Lösungen für das gleiche Problem ausprobiert, darunter das Einfügen aller Hosts in eine Zeile, das Entfernen redundanter Hosts und virtueller Hosts sowie das Einschließen der IPv6-Zeilen - keine dieser allein war erfolgreich.

Die einzige Lösung, die bis jetzt für mich zu funktionieren schien, ist eine Kombination aller Lösungen:

  • Ändern der von mir verwendeten Domain von "Meine Seite" "Lokal" in "Meine Seite" dev . Inspiriert von @ Cleverlemmings Antwort.
  • Einschließlich der IPv6-Leitungen.
  • Entfernen redundanter virtueller Hosts und Hosts (ich habe sie auskommentiert).

In meiner Hosts-Datei befinden sich meine Hosts derzeit in getrennten Zeilen und das Problem scheint bis jetzt behoben zu sein.

Wir wünschen allen, die versuchen, dieses Problem zu lösen, viel Glück und falls jemand Informationen hinzuzufügen hat, tun Sie dies bitte. Dies scheint ein Problem zu sein, von dem viele Menschen ohne eine einzige bekannte Ursache oder Lösung betroffen sind.

0

Der Trick, der es für mich getan hat, war das Hinzufügen

127.0.0.1 locahost

in der ersten Zeile der Host-Datei.

Von allen meinen virtuellen Hosts waren nur diejenigen, die eine Datenbank verwendeten, langsam. Ich glaube, es liegt daran, dass der Vorgang des Nachsuchens von "localhost" für die Datenbankverbindung die Dinge verlangsamte, da ich nur die Adressen für meine virtuellen Hosts und nicht "localhost" hinzugefügt habe. Jetzt ist alles wieder bissig. :)

0
D. Marti

Ich habe auch eine Menge davon getroffen. Ich habe eine Reihe von vhosts auf zwei Zeilen definiert, eine für IPv4 und eine für IPv6. Umzug des Gastgebers Ich habe versucht, den ersten Platz in der Liste zu erreichen, um es zu beschleunigen.

127.0.0.1 faster.example.dev Host1.example.dev Host2.example.dev Host3.example.dev Host4.example.dev Host5.example.dev Host6.example.dev
::1 faster.example.dev Host1.example.dev Host2.example.dev Host3.example.dev Host4.example.dev Host5.example.dev Host6.example.dev
0
Alex Dunae