【发布时间】:2015-04-24 03:24:36
【问题描述】:
我正在尝试为我的 apache 服务器上的几个虚拟主机设置负载平衡器。 通过为文件“C:\Windows\System32\drivers\etc\hosts”添加以下行来添加这些虚拟主机:
127.0.0.1 localhost
127.0.0.1 vhosta
127.0.0.1 vhostb
127.0.0.1 vhostc
127.0.0.1 load-balancer
::1 localhost
然后我为文件“C:\xampp\apache\conf\extra\httpd-vhosts.conf”添加了以下行:
<VirtualHost *:80>
DocumentRoot c:/xampp/htdocs
ServerName localhost
</VirtualHost>
<VirtualHost *:80>
DocumentRoot c:/vhosts/vhosta
ServerName vhosta
</VirtualHost>
<VirtualHost *:80>
DocumentRoot c:/vhosts/vhostb
ServerName vhostb
</VirtualHost>
<VirtualHost *:80>
DocumentRoot c:/vhosts/vhostc
ServerName vhostc
</VirtualHost>
<VirtualHost *:80>
DocumentRoot c:/vhosts/load-balancer
ServerName load-balancer
</VirtualHost>
当然,我已经在 C:/vhosts/ 中创建了文件夹,并为每个文件夹添加了一个 index.php 文件(其中包含一个 echo 语句)。
现在,我可以通过浏览器访问“http://vhosta”等访问虚拟主机了。
但我需要的是制作一个负载均衡器,它可以选择执行“http://vhosta”、“http://vhostb”或“http://vhostc”。
我怎样才能做到这一点?到目前为止,我所做的一切都正确吗?
任何帮助将不胜感激! 提前致谢!
(我在 Windows 8.1 上使用 xampp。)
【问题讨论】:
-
您在 IP 到名称映射方面走错了路。您可能希望将 127.0.0.2-5 映射到您的负载平衡器主机名,但即使在这种情况下,它也无法与 hosts 文件一起使用。您将需要 DNS 来完成这样的事情。我在回答中详细说明了。
标签: apache xampp load-balancing virtual-hosts