HAProxy Ubuntu’ya Nasıl Kurulur?
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 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ı,
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.
Tarayıcıyı her yenilediğimizde, her iki web sunucusundan da değişen web sayfalarını almalıyız.
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.
Merhaba! Makaleyi okudum ve HAProxy’nin nasıl kurulduğunu anladım. Ancak, başka bir sorum var: Bu yöntemi kullanarak HAProxy ile kaç sunucuyu dengeleyebilirim? Teşekkürler!