1.Haproxy下載地址:
http://www.haproxy.org/ 截止目前最新版本爲1.5.12
2、準備安裝環境:
兩個前端服務器安裝HA和keepalived:
192.168.10.204 主機名:node4.a.com
192.168.10.206 主機名:node6.a.com
兩個後端tomcat服務器:
192.168.10.209 主機名:node9.a.com
192.168.10.210 主機名:node10.a.com
解決依賴關係:
yum install openssl
3、安裝haproxyt:
解壓安裝包:
[root@node6 haproxy]#tar xvf haproxy-1.5.12.tar.gz
進入到解壓路徑:
[root@node6 haproxy]#cd haproxy-1.5.12
指定編譯內核版本和安裝路徑:
[root@node6 haproxy]#make TARGET=linux26 PREFIX=/opt/haproxy
複製配置文件到安裝路徑下:
[root@node6 haproxy]#cp examples/haproxy.cfg /opt/haproxy/
4、編輯配置文件:
node6主機:
[root@node6 ~]# vim /opt/haproxy/haproxy.cfg
global
log 127.0.0.1 local2
chroot /opt/haproxy
pidfile /opt/haproxy.pid
maxconn 4000
user haproxy
group haproxy
daemon
defaults
mode http
log global
option httplog
option dontlognull
optionhttp-server-close
option redispatch
retries 3
timeouthttp-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeouthttp-keep-alive 10s
timeout check 10s
maxconn 3000
mode http
option httplog
log global
balance roundrobin
server 209 node9.a.com:8080 cookie node9
server 210 node10.a.com:8080 cookie node10
node4主機:
global
log 127.0.0.1 local2
chroot /opt/haproxy
pidfile /opt/haproxy.pid
maxconn 4000
user haproxy
group haproxy
daemon
defaults
mode http
log global
option httplog
option dontlognull
optionhttp-server-close
option redispatch
retries 3
timeouthttp-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeouthttp-keep-alive 10s
timeout check 10s
maxconn 3000
mode http
option httplog
log global
balance roundrobin
server 209 node9.a.com:8080 cookie node9
server 210 node10.a.com:8080 cookie node10
啓動服務:
[root@node6 haproxy]#/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg
5.驗證是否啓動成功:
node6主機:
node4主機:
6、在客戶端使用瀏覽器訪問網頁是否會被評價調用至兩臺後端服務器:
首次訪問:
刷新網頁:
7、將keepalived級別較高的Master服務器的keepalived停止,查看IP是否會自動轉移到另一臺服務器,並查看網頁是否可以繼續訪問:
關閉Master的keepalived:
在Backup服務器查看IP信息:
在客戶端訪問網頁是否在正常並自動切換:
網頁依然可以正常訪問,不受Mster服務器Keepalived關閉的影響。
由此可見,已經實現了負載均衡(Haproxy)和高可用(Keepalived)的效果。