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
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 user haproxy group haproxy defaults log global mode tcp option dontlognull option tcp-smart-accept option tcp-smart-connect option redispatch retries 3 timeout connect 5s timeout client 480m timeout server 480m listen mysql-cluster bind *:3306 mode tcp balance leastconn option tcpka server server_name_1 server1_IP:3306 check server server-name_2 server2_IP:3306 check server server_name_3 server3_IP:3306 check listen stats bind *:8282 mode http maxconn 10 stats refresh 30s stats enable stats hide-version stats uri / 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:8282