CentOS HAproxy kurulumu ve konfigürasyonu

CentOS üzerinde HAproxy kurulumu ve konfigürasyonu aşağıda sade ve anlaşılır bir şekilde anlatılmıştır.

HAproxy linux sistemler üzerinden üzerinde kullanılan güvenilir, yüksek performanslı bir TCP/HTTP yük  dengeleyicidir. Kısaca Load Balancer.

CentOS sisteminiz üzerinden aşağıdaki adımları takiben HAproxy servisini kurabilirsiniz;

Öncelikle sunucumuzu update edelim;

yum update -y

Paket deposu üzerinden HAproxy kuralım;

yum install haproxy

Evet işin basit kısmı olan kurulum aşamasını tamamlanmış olduk. Şimdi asıl kısım olan konfigürasyonuna geçelim. Konfigürasyonumuzu e-posta yük dengeleme üzerine gerçekleştirdik. Siz ihtiyaçlarınız doğrultusunda düzenleyebilirsiniz.

Öncelikle elimizde şöyle bir senaryo olsun. HAproxy kurulu olan sunucunun 25 portuna gelen istekleri arkadaki 3 sunucuya dağıtmasını sağlayalım.

HAproxy config dosyasını açalım;

nano /etc/haproxy/haproxy.cfg

Bu dosya içerisine gerekli ayarlarımızı giriyoruz.

global
      log                 127.0.0.1      local0
      log                 127.0.0.1      local1      notice
     chroot         /var/lib/haproxy
     pidfile         /var/run/haproxy.pid
     maxconn      4000
     user              haproxy
     group          haproxy
     daemon
     stats socket      /var/lib/haproxy/stats

Glodbal ayarlarımız yukarıdaki gibi olacak. Global ayarlarda genel ayarları yapılandırıyoruz. log dosyası, haproxy user, maxsimum bağlantı sayısı vb.

defaults
            mode http
            timeout connect 5000ms
            timeout client 50000ms
            timeout server 50000ms

Default ayarlarımız yukarıdaki gibi olacak. Default ayarlar üzerinden varsayılan ayarları yapıyoruz. timeout, proxy modu vb.

frontend ve backend ayarlarımız önemlidir. frontend‘te gelen istekler backend‘e gönderilmektedir. Bu şekilde yük dengelenmektedir. Örnekler local ipler üzerinden verilmiştir.

frontend smtp_in
            bind 192.168.1.10:25
            mode tcp
            no option http-server-close
            timeout client 1m
            log global
            option tcplog
            default_backend smtp_out_postfix

192.168.1.10 
nolu ipnin  25 nolu portuna gelen istekler tanımladığımız backend değişkenine gitmektedir.

backend smtp_out_postfix
            mode tcp
            balance roundrobin
            no option http-server-close
            log global
            option tcplog haproxy_check
            timeout server 1m
            timeout connect 5s
            server postfix_1  192.168.1.10:25  check
            server postfix_2 192.168.1.20:25 check
            server postfix_3 192.168.1.30:25 check

frontend sunucuya gelen istekleri karşılamaktadır. Sunucunun 25 nolu portuna gelen istekler backend kısmında buluan server‘lar arasında paylaştırılmaktadır.

Sunucuları üzerinden iptables servisini kapatarak yazımızdaki adımları uygulamanızı öneririz.

Ayrıca HAproxy ile web üzerinden yük dağıtılan sunucuların erişilebilir olup olmadığı, yük dağıtılan sunuculara ne kadar veri gönderildiğine dair istatistiklere ulaşabilirsiniz. Bunun için aşağıdaki kısımları haproxy.cfg dosyasına eklemeniz gerekmektedir. Aşağıdaki ayarlara göre http://192.168.1.10:8080/haproxy?stats adresind enkullanıcı adı admin şifre kısmına sifreniz yazarak web üzerinden istatistiklere erişilebilir. Ayarlar üzerinden port numarası, url, kullanıcı adı ve şifre değiştirilerek kişiselleştirilebilmektedir.

listen stats 192.168.1.10:8080
            mode http
            log global
            maxconn 10
            clitimeout 100s
            srvtimeout 100s
            contimeout 100s
            timeout queue 100s
            stats enable
            stats hide-version
            stats refresh 30s
            stats show-node
            stats auth admin:sifreniz
            stats uri /haproxy?stats

Leave a Reply

*

Doğrulama * Time limit is exhausted. Please reload the CAPTCHA.

Next ArticleMySQL Unable to lock ./ibdata1, error: 11çözüm