
我想設定 Apache2(在 Ubuntu 14.04 上),使其在啟動時啟動並偵聽 127.0.0.1:80 和 192.150.0.1:80。
為此,我有以下幾行/etc/apache2/ports.conf
:
Listen 127.0.0.1:80
Listen 192.168.150.1:80
和 VirtualHost 指令的開始標記:
<VirtualHost 127.0.0.1:80 192.168.150.1:80>
經過這些編輯和運作後,一切正常sudo apache2ctl restart
。
但後一個 IP 在啟動時未綁定到伺服器上的活動接口,因此 Apache 無法在下次啟動時啟動。
我找到了這裡:
當嘗試綁定到主機系統上不存在的 IP 和連接埠時,apache httpd 將無法啟動。
如果未能綁定到後一個 IP 就是所有錯誤的原因,我希望 apache 不會自殺。是否有使用 Apache 設定指令的解決方案:
- 即使第二個位址未綁定到任何接口,Apache也會在引導時成功啟動。
- 要求我只打開介面並重新啟動 apache 來監聽這兩個位址。
?
我不想/etc/apache2/ports.conf
每次打開介面後都手動編輯。
答案1
這在具有多個 IP 上的多個站點的 HA 設定中非常常見。 IP 在 HA 中的裝置之間共用。
簡短的回答,你不能。如果裝置上沒有所有 IP,Apache 將不會啟動。
我們的答案是在故障轉移過程中寫入 apache 重啟,確保發生故障轉移時 apache 服務能夠重新啟動。