Yük dengeleme, gelen web trafiğini birden çok arka uç sunucu arasında dağıtmanın en yaygın uygulamasıdır. Bu, bazı sunucular herhangi bir nedenle çökse bile uygulamayı yüksek oranda kullanılabilir hale getirir. Yük Dengeleme, bir web uygulamasının verimliliğini ve güvenilirliğini artırır. HAProxy yük dengeleyici aynı amaç için kullanılır. Endüstrilerde en yaygın kullanılan yük dengeleyicidir. Resmi web sitesine göre HAProxy, AWS, Fedora, Github ve daha pek çok önde gelen şirket tarafından kullanılmaktadır.
HAProxy veya Yüksek Kullanılabilirlik Proxy'si, yüksek kullanılabilirlik ve proxy oluşturma çözümü sağlar. C ile yazılmıştır ve TCP/IP modelinin ağ ve uygulama katmanlarında çalışır. En iyi yanı, ücretsiz bir topluluk sürümüne sahip olması ve açık kaynaklı bir uygulama olmasıdır. Linux, FreeBSD ve Solaris işletim sistemlerinde çalışır. Kurumsal sürüm de orada, ancak bir fiyat etiketi var.
Bu kılavuzda göreceğiz Debian 10'da HAProxy Kurulumu ve Yük Dengeleme Sunucusunu Yapılandırma.
Önkoşullar:
- Linux terminalinde tüm makinelere "sudo" erişimi ve komut çalıştırmayla ilgili temel bilgiler.
- Yük dengeleyici ve arka uç sunucularına eklenen özel IP adresleri.
- Tüm makinelerde yüklü Debian 10 İşletim Sistemi.
HAProxy'yi Debian 10'a Yükleme
Rehberimiz için aşağıdaki IP adresi yapılandırmasını kabul edeceğiz:
- HAProxy yük dengeleyici 10.0.12.10
- Web sunucusu1: IP Adresi: 10.0.12.15
- Web sunucusu2: IP Adresi: 10.0.12.16
Aşama 1. Debian Sistem deposunu ve paketlerini güncelleyin
İlk olarak, yazılım paketlerini en son sürüme güncellemek için tüm sistemlerde aşağıdaki komutları çalıştırın.
$ sudo uygun güncelleme$ sudo uygun yükseltme -y
Adım: 2 Nginx'i arka uç sunuculara kurun
Her birine Nginx web sunucusu kurarak arka uç sunucularınızı hazırlayın. Ayrıca apache gibi diğer web sunucularını kurmayı da seçebilirsiniz.
Nginx'i yüklemek için ortamınızdaki her bir arka uç sunucuda aşağıdaki komutları çalıştırın:
$ sudo apt nginx'i kurunAdım: 3 Arka uç sunucularınıza Nginx yüklendikten sonra, hizmeti aşağıda gösterildiği gibi başlatın:
$ sudo systemctl nginx'i başlatİPUCU: Aşağıdaki komutu kullanarak nginx web sunucusunu da yönetebiliriz:
$ sudo /etc/init.d/nginx "seçenek"seçenek: yeniden yüklemeyi başlat yeniden başlat durumu durdur
Adım: 4 Her Nginx web sunucusunun web klasöründe özel dizin sayfaları oluşturun. Bu, gelen isteklere hangi arka uç sunucunun hizmet verdiğini ayırt etmemize yardımcı olacaktır.
Her web sunucusunda aşağıdaki görevleri gerçekleştirin:
Aşağıdaki komutu kullanarak orijinal dizin dosyasını yedekleyin:
$ sudo cp /usr/share/nginx/html/index.html /usr/share/nginx/html/index.html.kökenDizine özel metin ekleyin.html dosyası. Her web sunucusunun IP adresini ekliyoruz.
Web sunucusu için 1:
$ sudo echo "Web sunucusu 1: 10.0.12.15" | sudo tee /usr/share/nginx/html/index.htmlWeb sunucusu 2 için:
$ sudo echo "Web sunucusu 2: 10.0.12.16" | sudo tee /usr/share/nginx/html/index.htmlBununla daha rahat hissediyorsanız vi düzenleyiciyi de kullanabilirsiniz. Bu aşağıda gösterilmiştir:
$ sudo vi /usr/share/nginx/html/index.htmlDosya açıldığında metni girin ve dosyayı kaydedin.
“/etc/nginx/sites-available/” dizinindeki varsayılan sanal ana bilgisayar dosyasını açın.
$ sudo nano /etc/nginx/siteler kullanılabilir/varsayılanŞimdi sunucu bloğunun içinde, "/var/www/html" olan kök yönergeyi "/usr/share/nginx/html" olarak değiştirin.
Nginx yapılandırmasını kontrol etmek için aşağıdaki komutu çalıştırın:
$ sudo nginx -tAdım 5: Şimdi şu komutu kullanarak hizmeti yeniden başlatın:
$ sudo systemctl nginx'i yeniden başlatAşağıdaki komutu kullanarak nginx'in durumunu kontrol edebilirsiniz:
$ sudo systemctl durumu nginxAdım: 6 HAProxy'yi Debian 10'a (Buster) kurmak için yük dengeleyicide aşağıdaki komutu çalıştırın.
$ sudo apt yükleme haproxy -yİpucu: HAProxy kurulduktan sonra, HAProxy'yi bir init betiği aracılığıyla yönetebilirsiniz. Bunun için, aşağıda gösterildiği gibi “/etc/default/haproxy” içinde “enabled” parametresini 1 olarak ayarlayın:
$ sudo vi /etc/default/haproxyETKİN=1
Şimdi aşağıdaki seçenek bir init betiği ile kullanılabilir:
$ sudo hizmeti haproxy “seçeneği.”seçenek: yeniden yüklemeyi başlat yeniden başlat durumu durdur
Adım: 7 Şimdi haproxy varsayılan yapılandırma dosyasını düzenleyerek HAProxy yük dengeleyiciyi yapılandırın.e. “/etc/haproxy/haproxy.cfg”. Bu dosyayı düzenlemek için aşağıdaki komutu çalıştırın
$ sudo vi /etc/haproxy/haproxy.cfgİpucu: Lütfen orijinal dosyayı yedekleyin, böylece bir şeyler ters giderse hepimiz güvende olacağız. Yedeklemeyi gerçekleştirmek için aşağıdaki komutu kullanın:
$ sudo cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.kökenŞimdi dosyanın sonuna gidin ve aşağıdaki bilgileri düzenleyin:
ön uç Local_Server10'u bağla.0.12.10:80
mod http
default_backend web sunucusu
arka uç web sunucusu
mod http
denge çevrimi
seçenek ileri
http-request set-header X-Forwarded-Port %[dst_port]
http-istek eklenti başlığı X-Forwarded-Proto https eğer ssl_fc
seçenek httpchk HEAD / HTTP/1.1rnHost:yerel ana bilgisayar
sunucu web1 10.0.12.15:80
sunucu web2 10.0.12.16:80
Not: Yukarıdaki dosyadaki IP adreslerini web sunucularınıza eklemiş olduğunuz IP adresleri ile değiştirmeyi unutmayınız.
Adım: 8 Yukarıdaki dosyanın yapılandırma sözdizimini aşağıdaki komutla doğrulayın:
$ sudo haproxy -c -f /etc/haproxy/haproxy.cfgHer şey yolunda giderse, şöyle bir çıktı gösterecektir: “Yapılandırma dosyası geçerli.” Çıktıda herhangi bir hata alırsanız, yapılandırma dosyanızı tekrar kontrol edin ve tekrar doğrulayın.
Adım: 9 Şimdi değişiklikleri uygulamak için HAProxy hizmetini yeniden başlatın
$ sudo hizmeti haproxy yeniden başlatmaYapılandırmayı Test Etme
Şimdi kurulumumuzun düzgün çalışıp çalışmadığını görme zamanı. Bir web tarayıcısında yük dengeleyici sistem IP'sini girin (Bizim durumumuzda, 10.0.12.10) ve HAProxy yük dengeleyicinin düzgün çalışıp çalışmadığını görmek için sayfayı 2-4 kez sürekli yenileyin. Farklı IP adreslerini veya dizine girdiğiniz metni görmelisiniz.html dosyası, sayfayı birden çok kez yenilemeye devam ettiğinizde.
Kontrol etmenin başka bir yolu, bir web sunucusunu çevrimdışı duruma getirmek ve başka bir web sunucusunun istekleri yerine getirip getirmediğini kontrol etmektir.
Şimdilik bu kadar! Nasıl çalıştığı hakkında daha fazla bilgi edinmek için HAProxy ile denemeler yapmayı deneyin. e için.g., deneyebilirsin:
- nginx yanında farklı web sunucusunu entegre etme.
- Yük dengeleme algoritmasını yuvarlak deneme dışında bir şeye değiştirme.
- Bir arka uç sunucusunun çalışıp çalışmadığını belirlemek için HAProxy sağlık kontrolünü yapılandırma.
- Bir kullanıcıyı aynı arka uç sunucusuna bağlamak için yapışkan oturumlar uygulama.
- Sunuculardaki trafik hakkında bilgi edinmek için HAProxy istatistiklerini kullanma.
HAProxy, hem HAProxy topluluk sürümü hem de HAProxy kurumsal sürümü için kapsamlı belgelere sahiptir. Sunucu ortamınızın performansını ve güvenilirliğini iyileştirme konusunda daha fazla bilgi edinmek için bu belgeleri keşfedin.
Bu kılavuz Debian 10(Buster) üzerinde başarıyla gerçekleştirilmiştir. HAProxy'yi Ubuntu, Linux Mint vb. gibi diğer Debian tabanlı dağıtımlara yüklemeyi deneyin. Lütfen bu kılavuzu başkalarıyla paylaşmayı unutmayın.