Bar*_*obs 25 mac-osx virtualhost apache-2.2
自从升级到 Mac OS X Lion(来自 Snow Leopard)后,我注意到解析到虚拟主机非常慢(大约 3 秒之间)。我找到了一些可能解决此问题的技巧(例如,不使用 .local TLD),但它们不适用于我的设置。
我的设置非常简单: - Apache 2(Lion 附带) - 启用 PHP - 添加了一些虚拟主机 - 安装了 Mail 和 SMTP Pear 包
Apache 的主机文件如下所示:
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
Run Code Online (Sandbox Code Playgroud)
Apache 的虚拟主机文件如下所示:
<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>
Run Code Online (Sandbox Code Playgroud)
设置与我在 Snow Leopard 上的设置基本相同,但 Apache 解析虚拟主机的性能有很大不同。我运行 Mac OS X Lion 10.7.2,但在运行 10.7.1 时问题已经存在。
这可能看起来是一个小问题,但是当您每天访问虚拟主机数百次时,正如您想象的那样,这会浪费大量时间。
ada*_*ptr 24
长时间的 DNS 超时几乎总是 IPv6 问题的迹象。
你需要 IPv6 连接到 apache 吗?
如果没有,我建议改变
<VirtualHost *:80>
Run Code Online (Sandbox Code Playgroud)
进入
<VirtualHost 0.0.0.0:80>
Run Code Online (Sandbox Code Playgroud)
或者完全禁用 IPv6 连接。
Dal*_*lus 22
我刚才也遇到了这个。
这会将网络配置中的 IPv6 设置为关闭...
# list all network interfaces to get their names
networksetup -listallnetworkservices
# disable the one you want, in my case it's WiFi
networksetup -setv6off Wi-Fi
Run Code Online (Sandbox Code Playgroud)
但是.. 不幸的是,这并没有为我解决 DNS 解析问题(可能在系统重启后)。真正有用的是将 ipv6 样式的 IP 添加到 /etc/hosts 中,如下所示:
# my original /etc/hosts ...
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
127.0.0.1 project.local
# adding this solved resolving:
fe80::1%lo0 project.local
Run Code Online (Sandbox Code Playgroud)
wget http://project.local现在立即显示
Resolving project.local... 127.0.0.1
Connecting to project.local|127.0.0.1|:80... connected.
Run Code Online (Sandbox Code Playgroud)
而不是在 Resolving project.local 上挂起 5 秒钟。
Art*_*era 12
在MacOSX 上,Lion .local域已为多播 DNS 解析器(bonjour)“保留”。
这意味着查找任何以 .local 结尾的域将导致在/etc/hosts之前进行 mDNS 查找(最多 5 秒)。
修复:
.dev)| 归档时间: |
|
| 查看次数: |
17491 次 |
| 最近记录: |