Centos 7 Üzerinde HAProxy Kurulumu ve Web 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

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
Back To Top