Bu kılavuzda, HAProxy’nin Apache HTTP Sunucusu ile RHEL 9 üzerinde adım adım nasıl kurulacağını ve yapılandırılacağını göstereceğiz.
HAProxy , Yüksek Kullanılabilirlik Proxy’si anlamına gelir. Web uygulamaları için açık kaynaklı ve yüksek performanslı bir TCP/HTTP yük dengeleyici ve ters proxy’dir. Bir uygulamanın isteklerle dolup taşmasını önlemek için trafiği belirli bir algoritma kullanarak birden çok arka uç web sunucusuna dağıtarak çalışır.
Yazılım yığınlarında HAProxy kullanan en iyi web siteleri arasında Twitter, Reddit, Tumblr ve Stack Overflow bulunur.
HAProxy’nin yük dengeleyici olarak nasıl çalıştığını göstermek için bir HAProxy yük dengeleyici ve iki web sunucusuyla üç düğümlü bir kurulumumuz var.
haproxy-rhel-09 10.128.0.48
apache-web-1 10.128.0.49
apache-web-2 10.128.0.50
Adım 1) Tüm düğümlerde hosts dosyasını güncelleyin
İlk adım, tüm düğümlerdeki ana bilgisayar dosyasını ana bilgisayar adları ve IP adresleri ile güncellemektir. Bu nedenle, gösterildiği gibi tüm sistemlerde hosts dosyasına erişin.
Ardından, yük dengeleyici görevi görecek olan RHEL 9 sunucusuna HAProxy paketini kuracağız. Bu nedenle, sunucunuza giriş yapın ve önce paketleri yükseltin.
$ sudo dnf update -y
Ardından, gösterildiği gibi RHEL 9 depolarında HAProxy paketinin kullanılabilirliğini ve bununla ilgili daha fazla bilgiyi arayabilirsiniz.
$ sudo dnf info haproxy -y
Çıktıdan, HAProxy hakkında sürüm, yayın ve mimari de dahil olmak üzere, sadece birkaçını belirtmek için bir bilgi telaşı görebilirsiniz,
Paketi depolardan yüklemek için şu komutu çalıştırın:
$ sudo dnf install haproxy
Sadece HAProxy’nin kurulu olduğunu onaylamak için komutu çalıştırın.
$ rpm -qi haproxy
Adım 3) HAProxy’yi Yük Dengeleyici Olarak Çalışacak Şekilde Yapılandırın
Sonraki adım HAProxy’yi yapılandırmaktır. Ancak bunu yapmadan önce, herhangi bir ihtimale karşı yapılandırma dosyasının yedek bir kopyasını alın. Aşağıdaki cp komutunu kullanarak ,
Tarayıcıdaki yük dengeleyici istatistiklerine erişmek için kullanıcı adı ve parola.
Web sunucularının ana bilgisayar adları ve IP adresleri.
frontend load_balancer
bind 10.128.0.48:80
option http-server-close
option forwardfor
stats uri /haproxy?stats
default_backend webservers
backend webservers
mode http
balance roundrobin
stats enable
stats auth linuxtechi:Techi@1234
option httpchk HEAD / HTTP/1.1\r\nHost:\ localhost
server apache-web-1 10.128.0.49:80
server apache-web-2 10.128.0.50:80
Adım 4) Rsyslog’u Yapılandırın
Sonraki adım, HAProxy istatistiklerini günlüğe kaydedebilmesi için Rsyslog hizmetini yapılandırmaktır. Bunu yapmak için Rsyslog yapılandırma dosyasına erişin.
Şimdiye kadar, HAProxy sunucusunu bir yük dengeleyici görevi görecek ve iş yükünü web sunucuları arasında yuvarlak deneme algoritmasını kullanarak dağıtacak şekilde yapılandırdık. Bir sonraki adım, web sunucularını kurmaktır.
Ardından, Apache paketini sunucuların her birine kurun.
$ sudo dnf install httpd -y
Ardından, Apache hizmetini başlatın ve etkinleştirin.
Bir sonraki adım, web sunucularını yapılandırmak ve onları bir tarayıcıdan ayırt etmek için farklı index.html dosyaları oluşturmaktır.
Web Sunucusu 1 için
Kök kullanıcıya geçin ve örnek bir HTML dosyası oluşturun.
$ echo "<h1>Success! Welcome to Web Server 1</h1>" > /var/www/html/index.html
Ardından, Apache hizmetini yeniden başlatın.
$ sudo systemctl restart httpd
Web Sunucusu 2 için
Benzer şekilde, kök kullanıcıya geçin ve örnek bir HTML dosyası oluşturun.
$ echo "<h1>Success! Welcome to Web Server 2</h1>" > /var/www/html/index.html
Ardından, değişiklikleri gerçekleştirmek için Apache hizmetini yeniden başlatın.
$ sudo systemctl restart httpd
Adım 6) HAProxy Yük Dengelemeyi Test Edin
Son adım, yük dengeleyicinin çalışıp çalışmadığını test etmektir. Bunu yapmak için yük dengeleyicinin IP adresini ziyaret edin
http://loadbalancer-IP
İlk olarak, web sunucusunun HTML sayfalarından birine yönlendirileceksiniz. Bu durumda isteğin ilk web sunucusuna gönderildiğini görebilirsiniz.
Şimdi web sayfasını yeniden yükleyin ve bu sefer ikinci web sunucusunun HTML sayfasını görmelisiniz.
Bu, isteklerin arka uç web sunucuları arasında dağıtılmasında döngüsel deneme algoritmasının uygulandığını doğrular.
Alternatif olarak, Round Robin algoritmasını test etmek için curl komutunu birden çok kez çalıştırabilirsiniz.
Bravo! Bu aynı zamanda, iki düğüm arasında trafiği dağıttığı için haproxy’nin düzgün çalıştığını doğrular.
Aşağıdaki URL’ye göz atarak da istatistikleri görüntüleyebilirsiniz.
http://loadbalancer-IP/haproxy?stats
Sizden kullanıcı adı ve şifre isteyecek, haproxy’yi yapılandırırken tanımladığımız aynı kimlik bilgilerini kullanın.
Rhel9’a HaProxy Nasıl Kurulur?
Bu kılavuzda, HAProxy’nin Apache HTTP Sunucusu ile RHEL 9 üzerinde adım adım nasıl kurulacağını ve yapılandırılacağını göstereceğiz.
HAProxy , Yüksek Kullanılabilirlik Proxy’si anlamına gelir. Web uygulamaları için açık kaynaklı ve yüksek performanslı bir TCP/HTTP yük dengeleyici ve ters proxy’dir. Bir uygulamanın isteklerle dolup taşmasını önlemek için trafiği belirli bir algoritma kullanarak birden çok arka uç web sunucusuna dağıtarak çalışır.
Yazılım yığınlarında HAProxy kullanan en iyi web siteleri arasında Twitter, Reddit, Tumblr ve Stack Overflow bulunur.
Makale İçeriği
Laboratuvar Kurulumu
HAProxy’nin yük dengeleyici olarak nasıl çalıştığını göstermek için bir HAProxy yük dengeleyici ve iki web sunucusuyla üç düğümlü bir kurulumumuz var.
Adım 1) Tüm düğümlerde hosts dosyasını güncelleyin
İlk adım, tüm düğümlerdeki ana bilgisayar dosyasını ana bilgisayar adları ve IP adresleri ile güncellemektir. Bu nedenle, gösterildiği gibi tüm sistemlerde hosts dosyasına erişin.
Daha sonra aşağıdaki gibi güncelleyin:
Değişiklikleri kaydedin ve çıkın.
Adım 2) HAProxy’yi RHEL 9’a yükleyin
Ardından, yük dengeleyici görevi görecek olan RHEL 9 sunucusuna HAProxy paketini kuracağız. Bu nedenle, sunucunuza giriş yapın ve önce paketleri yükseltin.
Ardından, gösterildiği gibi RHEL 9 depolarında HAProxy paketinin kullanılabilirliğini ve bununla ilgili daha fazla bilgiyi arayabilirsiniz.
Çıktıdan, HAProxy hakkında sürüm, yayın ve mimari de dahil olmak üzere, sadece birkaçını belirtmek için bir bilgi telaşı görebilirsiniz,
Paketi depolardan yüklemek için şu komutu çalıştırın:
Sadece HAProxy’nin kurulu olduğunu onaylamak için komutu çalıştırın.
Adım 3) HAProxy’yi Yük Dengeleyici Olarak Çalışacak Şekilde Yapılandırın
Sonraki adım HAProxy’yi yapılandırmaktır. Ancak bunu yapmadan önce, herhangi bir ihtimale karşı yapılandırma dosyasının yedek bir kopyasını alın. Aşağıdaki cp komutunu kullanarak ,
Ardından, yapılandırma dosyasını açın
İki bölümü güncelleyeceğiz: ön uç ve arka uç bölümü.
Frontend bölümünde aşağıdaki öznitelikleri tanımlayacağız.
Backend bölümü için aşağıdaki öznitelikleri tanımlayacağız.
Adım 4) Rsyslog’u Yapılandırın
Sonraki adım, HAProxy istatistiklerini günlüğe kaydedebilmesi için Rsyslog hizmetini yapılandırmaktır. Bunu yapmak için Rsyslog yapılandırma dosyasına erişin.
Bu satırların yorumunu kaldır
Değişiklikleri kaydedin ve yapılandırma dosyasından çıkın.
Ardından, bir HAProxy yapılandırma dosyası oluşturun.
Ardından, günlük dosyalarının konumunu tanımlamak için aşağıdaki satırları yapıştırın.
Değişiklikleri kaydedin ve yapılandırma dosyasından çıkın. Ardından, aşağıdaki SELinux kuralını ayarlayın.
Değişiklikleri etkilemek için yeniden başlatın ve Rsyslog’u etkinleştirin.
Ardından HaProxy’yi başlatın ve yeniden başlatmanın ardından çalışması için etkinleştirin.
HAProxy’nin çalıştığından emin olmak için şu komutu çalıştırın:
Yapılandırılmış bir güvenlik duvarınız varsa, 80 numaralı bağlantı noktasına izin verdiğinizden emin olun.
Adım 5) Web Sunucularını Kurun
Şimdiye kadar, HAProxy sunucusunu bir yük dengeleyici görevi görecek ve iş yükünü web sunucuları arasında yuvarlak deneme algoritmasını kullanarak dağıtacak şekilde yapılandırdık. Bir sonraki adım, web sunucularını kurmaktır.
Ardından, Apache paketini sunucuların her birine kurun.
Ardından, Apache hizmetini başlatın ve etkinleştirin.
Bir sonraki adım, web sunucularını yapılandırmak ve onları bir tarayıcıdan ayırt etmek için farklı index.html dosyaları oluşturmaktır.
Web Sunucusu 1 için
Kök kullanıcıya geçin ve örnek bir HTML dosyası oluşturun.
Ardından, Apache hizmetini yeniden başlatın.
Web Sunucusu 2 için
Benzer şekilde, kök kullanıcıya geçin ve örnek bir HTML dosyası oluşturun.
Ardından, değişiklikleri gerçekleştirmek için Apache hizmetini yeniden başlatın.
Adım 6) HAProxy Yük Dengelemeyi Test Edin
Son adım, yük dengeleyicinin çalışıp çalışmadığını test etmektir. Bunu yapmak için yük dengeleyicinin IP adresini ziyaret edin
http://loadbalancer-IP
İlk olarak, web sunucusunun HTML sayfalarından birine yönlendirileceksiniz. Bu durumda isteğin ilk web sunucusuna gönderildiğini görebilirsiniz.
Şimdi web sayfasını yeniden yükleyin ve bu sefer ikinci web sunucusunun HTML sayfasını görmelisiniz.
Bu, isteklerin arka uç web sunucuları arasında dağıtılmasında döngüsel deneme algoritmasının uygulandığını doğrular.
Alternatif olarak, Round Robin algoritmasını test etmek için curl komutunu birden çok kez çalıştırabilirsiniz.
Bravo! Bu aynı zamanda, iki düğüm arasında trafiği dağıttığı için haproxy’nin düzgün çalıştığını doğrular.
Aşağıdaki URL’ye göz atarak da istatistikleri görüntüleyebilirsiniz.
http://loadbalancer-IP/haproxy?stats
Sizden kullanıcı adı ve şifre isteyecek, haproxy’yi yapılandırırken tanımladığımız aynı kimlik bilgilerini kullanın.