![VirtualBox Apache 需要从 Ubuntu 主机访问](https://linux22.com/image/1267767/VirtualBox%20Apache%20%E9%9C%80%E8%A6%81%E4%BB%8E%20Ubuntu%20%E4%B8%BB%E6%9C%BA%E8%AE%BF%E9%97%AE.png)
我有一台安装了 VirtualBox VM 的 Ubuntu 10.10 主机。在 VirtualBox 中,我安装了另外两台配置相同的 Ubuntu 机器。我正在尝试实现具有两个节点(这两个虚拟机)的高可用性集群,并且我不想在这个项目中混合使用我的主机。
现在,我想在 2 台虚拟机之间切换 Apache 服务,为此我创建了一个虚拟主机。我在两台机器上编辑 /etc/apache2/sites-available/mywebsite 并添加以下几行:
<VirtualHost 55.55.55.55:80>
ServerAdmin [email protected]
ServerName mywebsite.com
DocumentRoot /var/www/mywebsite/
</VirtualHost>
这将使我可以选择从55.55.55.55
而不是启动我的网站http://localhost
。但是,这只在我的 2 节点集群中有效,并且在我的主机上不可见。我该怎么办?有什么解决办法吗?
很抱歉发了这么长的帖子,但我想尽可能详细地告诉你。谢谢
答案1
你需要的是负载均衡器负载均衡器使用看门狗来监控真实服务器的可用性,并将请求发送到处于活动状态的服务器。
[编辑]
您有两个选择:要么客户端需要连接到另一台计算机,将请求转发到正在运行的服务器(=负载平衡器),要么您必须在切换服务器时移动 IP 地址。
您可以为同一台计算机分配多个 IP 地址。我建议分配两个:一个永远不会改变(用于远程管理),另一个在此主机上启动 Apache 时分配(就55.55.55.55
您的情况而言)。
另一种方法是仅在单个主机上启动 Apache,并让负载平衡器监控这一事实。客户端始终连接到负载平衡器。只要只有一个 Apache 服务运行,负载平衡器就会始终将所有请求发送到单个机器。
要分配额外的 IP 地址,请使用以下命令:
ifconfig eth0:1 xxx.xxx.xxx.xxx
“:1” 表示“附加地址eth0
”(更多信息)。