Ada*_*ies 92 dns macos localhost virtualhost osx-lion
由于建立在Mac OS X Lion的(2012年1月购买的全新的MacBook Air),我的开发环境中,我注意到,解决到虚拟主机是很慢的(约3秒)第一次,但之后快速只要我会继续定期加载它.
如果我让它保持原状几分钟然后重新加载,那么第一次重装(再次)是非常缓慢的; 似乎正在缓存某些东西.
如下所示,我没有使用.local TLD.
我的设置:Apache 2 - MySQL - PHP安装并启用 - 添加了几个虚拟主机,其中一个是我为localhost创建的
我的/ 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
Run Code Online (Sandbox Code Playgroud)
我在username.conf中的虚拟主机设置:
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>
Run Code Online (Sandbox Code Playgroud)
Jer*_*unn 155
我有完全相同的问题,它让我疯了!
将localhost的所有主机文件条目放入一行,如下所示:
127.0.0.1 localhost myproject.dev myotherproject.dev
::1 localhost
fe80::1%lo0 localhost
Run Code Online (Sandbox Code Playgroud)
对我来说就像一个魅力.看起来好像是Lion中的一个bug.
Cle*_*ing 66
对于以".local"结尾的网站,还有另一个问题10.7.*到10.8.4,导致五秒钟的查找.细节和解决方案由Bram(us)Van Damme提供,链接如下:
http://www.bram.us/2011/12/12/mamp-pro-slow-name-resolving-with-local-vhosts-in-lion-fix/
"默认情况下,以.local结尾的任何主机名都被视为Bonjour主机,而不是通过查询"网络"偏好设置中的DNS服务器条目.
要解决此问题(无需重命名每个vhost),您需要为/ etc/hosts文件中的每个vhost添加IPv6条目:"
::1 mysite.local
fe80::1%lo0 mysite.local
127.0.0.1 mysite.local
Run Code Online (Sandbox Code Playgroud)
Fle*_*nch 24
我也有同样的问题,也是在Lion上.
奇怪的是,我的解决方案与杰里米相反.我在/ etc/hosts中的一行上有一大堆someproject.dev条目.第一次在任何一个网站上加载一个网站就像一分钟左右一样.如果我在5秒钟左右再次使用它它会非常快,但是更长,它会再花一分钟.我怀疑各种各样的东西,mysql连接,Ruby版本,Rails错误,Apache,Phusion Passenger.直到我终于看到控制台并意识到正在尝试进行DNS查找.
所以,我把所有这些都放在了单独的行上:
127.0.0.1 localhost
127.0.0.1 myproject.dev
127.0.0.1 myotherproject.dev
Run Code Online (Sandbox Code Playgroud)
突然间,一切都很快.我的两台机器都一样.
Ara*_*ram 12
为IPv6 :: 1指定相同的主机帮助了我.
127.0.0.1 something.local.mydomain.org
::1 something.local.mydomain.org
Run Code Online (Sandbox Code Playgroud)
确保将IP v6条目放在localhost不在行中
::1 localhost
Run Code Online (Sandbox Code Playgroud)
IP v6条目单独行
fe80::1%lo0 here and_here
Run Code Online (Sandbox Code Playgroud)
现在有时真的很快,但是很少有例外,旧的滞后回来了.然而,它们可能基于其他原因.
在OSX El Capitan上,对我有用的是在IPv4条目的正上方创建一个重复的IPv6条目
fe80::1%lo0 demo.test.dev
127.0.0.1 demo.test.dev
Run Code Online (Sandbox Code Playgroud)