[ 永遠的UNIX::UNIX技術資料的寶庫 ]   GB | BIG5

首頁 > 應用技術 > Apache > 正文
虛擬服務器實現方法(動態均衡)
本文出自: 作者: (2001-06-27 11:00:00)
虛擬服務器:對外它是單一的入口,對內有很多台計算機為它服務.對使用它的人來說,它是一台機器,有單一的入口點.具體的實現技術包括兩種: 應用層的虛擬服務器,網絡層的虛擬服務器. 
1.應用層的虛擬服務器是利用應用層的轉發實現的,相當一台代理服務器,這正是經常提到的虛擬服務器. 
實現方式:利用apache的 ProxyPass 可以實現對虛擬服務器的配置.(httpd.conf中) 
如某公司的WWW服務器為 http://www.abc.com/ 在httpd.conf中作如下設置: 
ProxyPass /sales http://192.168.0.1/ 
ProxyPass /rd http://192.168.0.2/ 
ProxyPass /head http://192.168.0.3/ 
如上設置生效了以,對http://www.abc.com/rd的方位會轉到http://192.168.0.2上來. 對http://www.abc.com/head的訪問會轉到http://192.168.0.2上來, 客戶不直接同 192.168.0.x交互,所有的請求都通過www.abc.com來轉發. 
過程如下: 
client (http://www.abc.com/sales) <--> www.abc.com <--> 192.168.0.1 
2.ip層的虛擬服務器.它是利用ip層的反向masq來實現的. 
實現方式:通過對ip包頭的目的地址的改寫來實現的.linux kernel 2.2.x中帶的ip port forward 就是實現的方式.你需要一個管理工具來管理這個方式.此種方式也稱為反向NAT. 
設置方法: 
1. 內核編譯中選擇 ip_port_forward(??) 
2. 利用ipmasqadm 來設置 ip_port_forward. 
ipmasqadm -A www.abc.com:80 -R 192.168.0.1:80 
具體用法請參考man..這裡不對. 
ipmasqadm -A www.abc.com:80 -R 192.168.0.2:80 
3.設置ipchains 
ipchains -A forward -j MASQ -s 192.168.0.0/24 
ipchains -A forward -j MASQ -d 192.168.0.0/24 
4. OK.. 
測試: 
(1)現在你訪問http://www.abc.com/ 
(2)你訪問的ip包發到www.abc.com然目標地址改為192.168.0.x, x為1或2可以由系統的負載平衡算法來選定. 
(3)處理完畢,請求包發回www.abc.com,然在發回給客戶. 
這樣,機器就可以擴充了.....你的www服務器負載太大,利用以上兩種方式均可以實現.你的telnet服務器負載太大,可以用方法2實現. 


(http://www.fanqiang.com)
    進入【UNIX論壇

相關文章
 

★  樊強制作 歡迎分享  ★