Ubuntu

HAProxy Ubuntu’ya Nasıl Kurulur?

HAProxy Ubuntuya Nasil Kurulur2
Share

Bu kılavuzda, Ubuntu 20.04 LTS’ye (Focal Fossa) adım adım HAProxy’nin en son sürümünün nasıl kurulacağını ele alacağız.

HAProxy, Yüksek kullanılabilirlik ve yük dengeleme için ücretsiz ve açık kaynaklı bir çözümdür, ayrıca TCP ve HTTP tabanlı uygulamaların proxy’si için de kullanılabilir. HAProxy, Linux, Solaris ve FreeBSD üzerine kurulabilir ve yapılandırılabilir. HAProxy, sunucuların yük dengelemesi ve yüksek kullanılabilirlik yeteneklerini kullanarak sunucunun performansını ve güvenilirliğini artırdığı için yoğun trafiğe sahip web siteleri için en iyi önerilen çözümdür.

HAProxy, GitHub, Bitbucket, Stack Overflow, Reddit, Tumblr, Twitter dahil olmak üzere bir dizi en popüler web sitesi tarafından kullanılır ve ayrıca Amazon Web Services’in OpsWorks ürününde kullanılır.

Önkoşullar

  • Minimum Yüklü Ubuntu 20.04 Sistemi
  • sudo haklarına sahip Yerel Kullanıcı
  • internet bağlanabilirliği

Daha fazla gecikmeden HAProxy kurulum adımlarına derinlemesine bakalım.

Adım 1) Güncellemeleri Yükleyin

Ubuntu 20.04 sistemine giriş yapın ve aşağıda apt komutunu kullanarak mevcut tüm güncellemeleri yükleyin,

$ sudo apt update
$ sudo apt upgrade -y

Tüm güncellemeler yüklendikten sonra sistemi bir kez yeniden başlatın.

$ sudo reboot

Adım 2) En son HAProxy’yi yükleyin

HAProxy paketi, varsayılan paket havuzlarında mevcuttur ancak en son ve kararlı sürüm değildir. En son sürümü yüklemek için HAProxy PPA’yı etkinleştirin, çalıştırın

$ sudo apt install software-properties-common
$ sudo add-apt-repository ppa:vbernat/haproxy-2.6 -y

Şimdi, haproxy’yi yüklemek için aşağıdaki apt komutunu çalıştırın

Not: Bu makalenin yazıldığı sırada, HAProxy 2.6, PPA aracılığıyla kullanılabilir.

$ sudo apt update$ sudo apt install haproxy -y

Haproxy sürümünü doğrulamak için şunu çalıştırın:

$ haproxy -v

HAProxy Ubuntuya Nasil Kurulur

Haproxy paketini kurduğumuzda haproxy servisi otomatik olarak başlar. Haproxy hizmet durumunu doğrulamak için aşağıdakileri çalıştırın

$ sudo systemctl status haproxy
çıktı,
HAProxy Ubuntuya Nasil Kurulur2

Adım 3) HAProxy’yi yapılandırın

Artık haproxy hazır. Bu kılavuzun amacı doğrultusunda, bir posta sunucusundan ve bir web sunucusundan gelen istekleri yük dengelemek için HAProxy’yi yapılandıracağız.

 

HAProxy ile bir Posta sunucusunu dengeleme yük

Bu örnek için, sırasıyla 192.168.1.10 ve 192.168.1.20 IP adresli iki SMTP sunucusu kullanacağız.

Haproxy sunucusunun IP adresi 192.168.1.100’dir.

Şimdi ana HAProxy yapılandırma dosyasında, yani ‘/etc/haproxy/haproxy.cfg’ değişiklikleri yapacağız ve ardından iki SMTP sunucusunun yük dengelemesi için yapılandırma değişikliklerini yapacağız,

Değişiklikleri yapmadan önce cp komutunu kullanarak yapılandırma dosyasının yedeğini alın .


$ sudo cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg-org

Şimdi değişiklikleri yapın, dosyanın sonuna aşağıdaki ön uç ' & ' arka uç ' bölümünü ekleyin.

$ sudo vi /etc/haproxy/haproxy.cfg
-------------------------------
frontend front_smtp
        bind *:25
        mode tcp
        default_backend back_smtp

backend back_smtp
        mode tcp
        balance roundrobin
        server smtp1 192.168.1.10:25 check
        server smtp2 192.168.1.20:25 check

Burada seçeneklerin çoğu varsayılan olarak ayarlanmıştır, burada değiştirilecek ana şeyler ‘ ön uç ‘ ve ‘ arka uç ‘ bölümleridir.


frontend front_smtp

bind *:25

mode tcp

default_backend back_smtp

Burada frontend için bir isim tanımladık yani front_smtp & 25 numaralı porttan tüm istekleri bind parametresiyle almak istedik, laslty tüm isteklerin dağıtılacağı ‘back_smtp’ adlı arka uç bölümünden bahsetmiştik.

 

backend back_smtp

mode tcp

balance roundrobin

server smtp1 192.168.1.10:25 check

server smtp2 192.168.1.20:25 check

 

Bu bölümde backend için bir isim belirledik yani back_smtp & tcp olacak iletim için mod kullanılacak yük dengeleme yöntemi ‘ roundrobin ‘. Kullanılabilecek diğer yük dengeleme yöntemleri, Weighted round robin , Dynamic round robin algoritması , En az bağlantı algoritması , Kaynak’tır. Son olarak her iki SMTP sunucusu için sunucu adreslerinden bahsetmiştik.

Değişiklikler yapıldıktan sonra dosyayı kaydedin ve değişiklikleri uygulamak için haproxy hizmetini yeniden başlatın,

$ sudo systemctl restart haproxy

Haproxy sunucumuz artık mail sunucusu için yük dengeleyici olarak çalışmaya hazır. Artık SMTP sunucu adreslerini kullanmak yerine, haproxy loadbalancing’in çalışması için HAPROXY için sunucu adresini yani 192.168.1.100:25 kullanmamız gerekiyor.

Smtp sunucumuzun yük dengelemesinin çalışıp çalışmadığını kontrol etmek için telnet kullanabiliriz,

telnet komutunun çıktısı aşağıdaki gibi olmalıdır:

$ telnet 192.168.1.100 25 
192.168.1.100 deniyor.. 192.168.1.100'e 
bağlandı. 
Kaçış karakteri '^]'. 
220 smtp1.sunucucozumleri.com ESMTP Postfix

Şimdi tekrar telnet komutunu çalıştırın,

$ telnet 192.168.1.100 25 
192.168.1.100 deniyor.. 192.168.1.100'e 
bağlandı. 
Kaçış karakteri '^]'. 
220 smtp2.sunucucozumleri.com ESMTP Postfix

Her iki çıktıda da posta sunucularının sunucusundaki değişikliğe dikkat edin, bu da yük dengelemenin iyi çalıştığını gösteriyor. Şimdi bir web sunucusunda yük dengeleme için bir harpoxy örneğini tartışalım.

HAProxy ile bir Web sunucusunu yük dengeleme

Aynı dosya ‘/etc/haproxy/haproxy.cfg’ olarak düzenlenecektir. Arka uçta iki web sunucusu (192.168.1.10 & 192.168.1.20) kullanacağız. Haproxy sunucusunun IP adresi 192.168.1.100’dir.

Haproxy ana yapılandırma dosyasını açın ve aşağıdaki değişiklikleri dosyanın sonuna ekleyin

$ sudo vi /etc/haproxy/haproxy.cfg

------------
frontend www-http
        bind *:80
        mode http
        default_backend apache

backend apache
        mode http
        balance roundrobin
        server web1 192.168.1.10
        server web2 192.168.1.20

Dosyayı kaydedin ve değişiklikleri uygulamak için haproxy hizmetini yeniden başlatın,

$ sudo systemctl restart haproxy

Yük dengelemenin çalışıp çalışmadığını test etmek için her iki sunucuya da iki farklı web sayfası yerleştirebiliriz. Örneğin, Webserver 1’de index.html’yi değiştirebiliriz,

[ sunucucozumleri@web1 ~]$ sudo vi /var/www/html/index.html 
Bu WEB SUNUCUSU 1'dir

& benzer şekilde Web sunucusu 2’de, index.html dosyasını düzenleyerek şunu söyleyebiliriz:

 

[ sunucucozumleri@web2 ~]$ sudo vi /var/www/html/index.html 
Bu WEB SUNUCUSU 2'dir

Yapılan değişiklikleri uygulamak için web servisini yeniden başlatmayı unutmayın.

Şimdi haproxy IP adresini kullanın, 192.168.1.100 ve bir web tarayıcısı kullanarak ona erişin.

HAProxy Ubuntuya Nasil Kurulur3

 

Tarayıcıyı her yenilediğimizde, her iki web sunucusundan da değişen web sayfalarını almalıyız.

HAProxy Ubuntuya Nasil Kurulur4

Bu, web sunucusu yük dengelememizin de iyi çalıştığını gösterir. Hepsi bu kılavuzdan alınmıştır, umarım HAProxy’yi Ubuntu 20.04 LTS’ye (Focal Fossa) başarıyla yüklemişsinizdir. Lütfen aşağıdaki yorum kutusunu kullanarak sorularınızı veya önerilerinizi göndermekten çekinmeyin.