NGINX ile Load Balancer Konfigürasyonu

tarihinde yayınlandı.

GİRİŞ

Merhabalar, bugün NGINX uygulamasının Load Balancer özelliğinden bahsedeceğim. NGINX, Unix/Linux tabanlı bir web server uygulamasıdır. Web yayını yaptığı gibi, Load Balancer olarak da kullanılabilmektedir. İsterseniz hemen başlayalım. İşletim sistemi olarak Ubuntu 18.04 üzerinde işlem sağlayacağım. NGINX uygulamasının makinenize kurulu olduğunu varsayıyorum.

LOAD BALANCER YAPISININ OLUŞTURULMASI

İlk olarak, /etc/nginx/conf.d/ dizinine loadbalancer.conf adında bir file oluşturalım.

Oluşan config dosyasına aşağıdaki biçimde, yönlendirme yapacağımız makineleri ekleyelim. Eğer SSL içerikli bir site’a yönlendirme yapacaksanız, 443’lü portu ayrıca yönlendirmeniz gerekecektir.

Daha sonra aşağıdaki komut ile site config dosyamızı oluşturalım.

Oluşturduğumuz dosyanın içine aşağıdaki configleri girelim.

Yukarıdaki config dosyasını açıklayacak olursak;

  • En başta, bize 80 portundan gelen tüm istekleri 443 portuna yönlendiriyoruz.
  • İkinci kısımda dinlenecek port, http versiyonu, ssl protokollerini ve ssl sertifikamızın path’ini belirtiyoruz.
  • Üçüncü ve son kısımda, sitenin loadbalancer.conf’da belirttiğimiz makinelere proxy_pass komutuyla yönlendirilmesini sağlıyoruz.

LOAD BALANCER SEÇENEKLERİ

Load balancer işlemini farklı özelliklerde yapabiliriz.

  • Round Robin: İstekler, sunucu yükü göz önünde bulundurularak, sunuculara eşit olarak dağıtılır. Bu yöntem default olarak çalışır. (bunu etkinleştirmek için config eklemeye gerek yoktur.)
  • Least Connection: En az yük içeren sunucuya göre dağıtım yapılır. Aynı zamanda sunucu yükü dikkate alınarak istek gönderilir. Örnek config:
  • IP Hash: Bu yöntem, sürekli aynı IP adresinden gelen istekleri, sunucu online olduğu sürece hep aynı makineye yönlendirir. Örnek config:

Bu yazıda size NGINX ile Load Balancer konfigürasyonunu anlatmaya çalıştım. Bir sonraki yazıda görüşmek üzere…

Sosyal Medyada Paylaşın