Kuruluma başlamadan önce ihtiyacımız olacak programları sunucuya kuralım.
# yum install gcc pcre-devel tar make -y
HAProxy sayfasından yayınlanmış en son sürüm kaynak kodu bilgisine ulaşabilirsiniz. Güncel sürüme ait kaynak kodlarına indirelim.
# wget http://www.haproxy.org/download/2.1/src/haproxy-2.1.3.tar.gz
İndirmiş olduğumuz .tar.gz uzantılı dosyayı bulunduğumuz dizine çıkartalım.
# tar xzvf haproxy-2.1.3.tar.gz
Dosyaları çıkartığımız dizine geçiş yapalım.
# cd haproxy-2.1.3
Kaynak kodlarını sistemimiz için derleyelim.
# make TARGET=linux-glibc
HAProxy kurulumunu başlatalım.
# make install
Ardından aşağıdaki gibi gerekli dizinleri ve istatistik dosyasını ekleyelim.
# mkdir -p /etc/haproxy # mkdir -p /var/lib/haproxy # touch /var/lib/haproxy/stats
HAProxy komutlarını normal bir kullanıcı gibi çalıştırabilmek için sembolik bir bağlantı oluşturalım.
# ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy
HAProxy’ yi sisteme bir servis olarak eklemek için indirmiş olduğumuz kaynak kodları içerisindeki “happroxy.init” dosyasını “/etc/init.d” dizinine kopyalayalım.
# cp ~/haproxy-2.1.3/examples/haproxy.init /etc/init.d/haproxy # chmod 755 /etc/init.d/haproxy # systemctl daemon-reload
Sunucunun başlatıldığında HAProxy’ nin otomatik başlayabilmesine izin verelim.
# chkconfig haproxy on
HAProxy için kullanıcı oluşturalım.
# useradd -r haproxy
Sunucuda firewalld aktifse aşağıdaki gibi http servisine ve 8181 portuna erişime izin verelim.
# firewall-cmd --permanent --zone=public --add-service=http # firewall-cmd --permanent --zone=public --add-port=8181/tcp # firewall-cmd --reload
Son olarak yük dengeleyiciyi yapılandıralım. Başlangıç olarak temel bir yapılandırma sağlayabilirsiniz. Bunun için “haproxy.cfg” dosyasını ilgili dizinde oluşturalım.
# nano /etc/haproxy/haproxy.cfg
Yapılandırma dosyası içerisine aşağıdaki içeriği kopyalayın. Kopyaladıktan sonra “server_name, server_IP, username ve password” alanlarını kendi yapınıza uygun olacak şekilde düzenlemeyi unutmayınız.
global log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy stats timeout 30s maxconn 100000 user haproxy group haproxy daemon defaults log global mode http option httplog option dontlognull timeout connect 5000 timeout client 86400 timeout server 86400 maxconn 100000 frontend http_front bind *:80 default_backend http_back backend http_back balance roundrobin server server_name_1 server1_IP:80 check server server-name_2 server2_IP:80 check server server_name_3 server3_IP:80 check listen stats bind *:8181 stats enable stats uri / stats realm Haproxy\ Statistics stats refresh 30s stats auth username:password
Son olarak HAProxy servisini yeniden başlatalım.
# systemctl restart haproxy
HAProxy istatistik sayfasına belirlemiş olduğunuz kullanıcı adı ve parola ile aşağıdaki örneğe benzer şekilde erişim sağlayabilirsiniz.
http://load_balancer_public_ip:8181