Centos 7 Üzerinde HAProxy Kurulumu ve DB Yük Dengeleme

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

Back To Top