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.
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
Ş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 .
Ş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,
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:
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.
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.
Makale İçeriği
Önkoşullar
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,
Tüm güncellemeler yüklendikten sonra sistemi bir kez yeniden başlatın.
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
Ş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.
Haproxy sürümünü doğrulamak için şunu çalıştırın:
Haproxy paketini kurduğumuzda haproxy servisi otomatik olarak başlar. Haproxy hizmet durumunu doğrulamak için aşağıdakileri çalıştırın
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 .
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,
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:
Şimdi tekrar telnet komutunu çalıştırın,
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
Dosyayı kaydedin ve değişiklikleri uygulamak için haproxy hizmetini yeniden başlatın,
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,
& benzer şekilde Web sunucusu 2’de, index.html dosyasını düzenleyerek şunu söyleyebiliriz:
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.