標籤:linux haproxy 負載平衡的實現
HAProxy提供高可用性、負載平衡以及基於TCP和HTTP應用的代理,支援虛擬機器主機,它是免費、快速並且可靠的一種解決方案。
Haproxy的四層負載平衡搭建
主機規劃:
server 192.168.1.148 提供haproxy服務
後台 web1 192.168.1.150
web2 192.168.1.136
使用源碼包安裝
解壓:
tar -zxvf haproxy-1.4.24.tar.gz
進入到解壓目錄:
cd haproxy-1.4.24
編譯:
make TARGET=linux26 ARCH=i386 (指定核心及32位版本)
出錯
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/6C/F1/wKioL1VYY_aS4T27AAH49_bmqlE916.jpg" title="編譯1.PNG" alt="wKioL1VYY_aS4T27AAH49_bmqlE916.jpg" />
解決:安裝gcc
yum install gcc
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6C/F1/wKioL1VYZCaQIbPpAAHF1j74uPY858.jpg" title="解決.PNG" alt="wKioL1VYZCaQIbPpAAHF1j74uPY858.jpg" />
重新編譯:make TARGET=linux26 ARCH=i386
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6C/F7/wKiom1VYYs3yEolUAADiNBWZwmc963.jpg" title="編譯.PNG" alt="wKiom1VYYs3yEolUAADiNBWZwmc963.jpg" />
再執行安裝:
make PREFIX=/var/haproxy install (指定安裝路徑)
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/6C/F7/wKiom1VYYyiiZBpGAAFGPN-9Kg0991.jpg" title="安裝.PNG" alt="wKiom1VYYyiiZBpGAAFGPN-9Kg0991.jpg" />
查看安裝目錄
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6C/F2/wKioL1VYZNqiKeZoAACEg8tsR30408.jpg" title="目錄.PNG" alt="wKioL1VYZNqiKeZoAACEg8tsR30408.jpg" />
安裝完成後 在安裝目錄下建立指定目錄
mkdir -p bin logs conf var/run var/chroot
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/6C/F7/wKiom1VYY3jTN6VdAAE8QI_Sr6c972.jpg" title="建立目錄.PNG" alt="wKiom1VYY3jTN6VdAAE8QI_Sr6c972.jpg" />
到解壓目錄下複製設定檔至安裝目錄的conf目錄下
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/6C/F7/wKiom1VYY82zbjNLAADMZVOeL7E063.jpg" title="複製設定檔.PNG" alt="wKiom1VYY82zbjNLAADMZVOeL7E063.jpg" />
編輯設定檔前先添加系統使用者
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6C/F7/wKiom1VYZCexbKJbAABboPvTPro323.jpg" title="添加使用者.PNG" alt="wKiom1VYZCexbKJbAABboPvTPro323.jpg" />
再者進行添加haproxy的Log Service
在 /etc/syslog.conf添加如下內容
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/6C/F7/wKiom1VYZHDCnUalAAAqnAf1fao684.jpg" style="float:none;" title="日誌1.PNG" alt="wKiom1VYZHDCnUalAAAqnAf1fao684.jpg" />
編輯 /etc/sysconfig/syslog
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/6C/F2/wKioL1VYZeqwSVp7AABLpX1QpDY024.jpg" style="float:none;" title="日誌2.PNG" alt="wKioL1VYZeqwSVp7AABLpX1QpDY024.jpg" />
完成後重啟Log Service
service syslog restart
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/6C/F7/wKiom1VYZTbxbLPsAABtFgSSwCY402.jpg" title="重啟日誌.PNG" alt="wKiom1VYZTbxbLPsAABtFgSSwCY402.jpg" />
準備完成後 對Haproxy進行配置
vi /var/haproxy/conf/haproxy/cfg
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/6C/F7/wKiom1VYZbGTO8rdAAE2011FGck162.jpg" style="float:none;" title="conf配置2.PNG" alt="wKiom1VYZbGTO8rdAAE2011FGck162.jpg" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/6C/F2/wKioL1VYZyuQwDghAAG9qku5_NY135.jpg" style="float:none;" title="conf配置.PNG" alt="wKioL1VYZyuQwDghAAG9qku5_NY135.jpg" />
編輯完成後 啟動haproxy
/var/haproxy/sbin/haproxy -f /var/haproxy/conf/haproxy.cfg (每次啟動麻煩,可以自己另添haproxy的啟動指令碼)
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6C/F2/wKioL1VYZ2-CPN1nAACHWRrdN1o804.jpg" title="qidong .PNG" alt="wKioL1VYZ2-CPN1nAACHWRrdN1o804.jpg" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/6C/F7/wKiom1VYZtbhgBECAAB9E6BzDy4027.jpg" title="test3.PNG" alt="wKiom1VYZtbhgBECAAB9E6BzDy4027.jpg" />
另外可以使用killall haproxy殺掉進程
一切完成後進行測試
開啟另外兩台web機 ,啟動apache服務。
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6C/F7/wKiom1VYZx6gFW1EAAD6QYtyDRk362.jpg" style="float:none;" title="test1.PNG" alt="wKiom1VYZx6gFW1EAAD6QYtyDRk362.jpg" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/6C/F2/wKioL1VYaJjg6WKOAAaYReYGX9o576.jpg" style="float:none;" title="test2.PNG" alt="wKioL1VYaJjg6WKOAAaYReYGX9o576.jpg" />
測試負載平衡
在瀏覽器端輸入haproxy的伺服器位址 不停重新整理,可以看到如下結果
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/6C/F2/wKioL1VYaUOgoLaqAACF4dW0z-I819.jpg" style="float:none;" title="test4.PNG" alt="wKioL1VYaUOgoLaqAACF4dW0z-I819.jpg" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/6C/F7/wKiom1VYZ8nR7i_YAAB6TuFSlSg010.jpg" style="float:none;" title="test5.PNG" alt="wKiom1VYZ8nR7i_YAAB6TuFSlSg010.jpg" />
從而達到了負載平衡的目的。
關閉其中一台web機
重新整理狀態顯示頁面,可以看到
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6C/F2/wKioL1VYaazzg65ZAAEwIX3WDJU364.jpg" title="test6.PNG" alt="wKioL1VYaazzg65ZAAEwIX3WDJU364.jpg" />
至此Haproxy的四層負載平衡搭建完成。
本文出自 “濾新” 部落格,請務必保留此出處http://wahehe.blog.51cto.com/8935316/1652107
linux 下Haproxy實現簡單四層負載平衡