U ovom HOWTO ću opisati kako instalirati i podesiti HAProxy da radi balancing na dva web servera. Koristio sam sledeći software: CentOS-5.1 i HAProxy 1.2.17.
Lista servera:
1. balancer (server na kome se vrti HAProxy)
2. www01 (prvi apache httpd server)
3. www02 (drugi apache httpd server)
Ovako izgleda /etc/hosts (u mom slučaju):
192.168.22.100 balancer.sajt.com balancer
192.168.22.101 www01.sajt.com www01
192.168.22.102 www02.sajt.com www02
192.168.22.111 www.sajt.com www
Na server-u (balancer) uradite sledeće:
# tar xzvf haproxy-1.2.17.tar.gz
# cd haproxy-1.2.17
# make
# cp haproxy /usr/sbin/haproxy
# cd examples/
# cp haproxy.init /etc/init.d/haproxy
# chmod +x /etc/init.d/haproxy
# groupadd haproxy
# useradd -g haproxy -s /bin/false -d /home/haproxy haproxy
# mkdir /etc/haproxy/
# touch /etc/haproxy/haproxy.cfg
# chown haproxy:haproxy -R /etc/haproxy/
# ifconfig eth0:0 192.168.22.111 netmask 255.255.255.0
# echo "ifconfig eth0:0 192.168.22.111 netmask 255.255.255.0" >> /etc/rc.local
# chkconfig haproxy on
Sada prelazimo na konfiguraciju HAProxy servera. U fajl /etc/haproxy/haproxy.cfg ubacite sledeće:
global
maxconn 4096
uid 500
gid 500
daemon
defaults
mode http
stats uri /haproxy-stats
option httplog
option dontlognull
retries 3
redispatch
maxconn 2000
contimeout 5000
clitimeout 50000
srvtimeout 50000
listen webcluster 192.168.22.111:80
cookie SERVERID rewrite
balance roundrobin
server web01 192.168.22.101:80 cookie web01 check inter 2000 rise 2 fall 5
server web02 192.168.22.102:80 cookie web02 check inter 2000 rise 2 fall 5
Nakon toga pokrenite HAProxy:
# /etc/init.d/haproxy start
Na serverima web01 i web02 uradite sledeće:
# echo `hostname` >> /var/www/html/index.html
# /etc/init.d/httpd start
# chkconfig httpd on
Sada otvorite u Firefox-u virtuelnu ip adresu 192.168.22.111 (u mom slučaju):
Kada uradite refresh stranice dobićete nešto ovog tipa:
Probajte da ugasite apache na jednom od web servera:
Videćete da će HAProxy prosleđivati zahteve samo "živim" serverima.
Možete da vidite i HAProxy statistike na stranici (/haproxy-stats):
Ako neko ima nešto da izmeni ili doda slobodno. Za više informacija posetite sajt: http://haproxy.1wt.eu/
[Ovu poruku je menjao Miroslav Strugarevic dana 16.04.2008. u 17:32 GMT+1]