![VirtualBox Apache 需要從 Ubuntu 主機訪問](https://rvso.com/image/1267767/VirtualBox%20Apache%20%E9%9C%80%E8%A6%81%E5%BE%9E%20Ubuntu%20%E4%B8%BB%E6%A9%9F%E8%A8%AA%E5%95%8F.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
」(更多資訊)。