HAProxy

CentOS 8'de Nginx için Yük Dengeleyici Olarak HAProxy Kurulumu

CentOS 8'de Nginx için Yük Dengeleyici Olarak HAProxy Kurulumu
HAProxy olarak da kısaltılan High Availability Proxy, aynı zamanda bir proxy sunucusu olarak da kullanılabilen hafif ve hızlı bir yük dengeleyicidir. Bir yük dengeleyici olarak, belirli kriterler kullanarak gelen web trafiğini birden çok web sunucusuna dağıtmada çok önemli bir rol oynar. Bunu yaparken, tek bir web sunucusunu aşırı yükleyebilecek çok fazla eşzamanlı istek olması durumunda yüksek kullanılabilirlik ve hata toleransı sağlar.

HaProxy, Tumblr, GitHub ve StackOverflow gibi popüler siteler tarafından kullanılır. Bu kılavuzda, Nginx kullanılarak desteklenen bir web sunucusu kurulumunda HAProxy kurulumunda size yol göstereceğiz.

Laboratuvar Kurulumu

Gösterildiği gibi 3 CentOS 7 sunucusu örneği

Ana makine adı           IP adresleri
load_balancer      3.17.12.132
server_01          3.19.229.234
server_02          3.17.9.217

Adım 1: Yük dengeleyici için /etc/hosts dosyasını düzenleyin

Başlamak için, yük dengeleyici sisteminde oturum açın ve /etc/hosts dosyasını, gösterildiği gibi iki web sunucusunun ana bilgisayar adlarını ve IP adreslerini içerecek şekilde değiştirin

$ vim /etc/hosts
3.19.229.234   sunucu_01
3.17.9.217     sunucu-02

Tamamlandığında, değişiklikleri kaydedin ve yapılandırma dosyasından çıkın.

Şimdi web sunucularının her birine gidin ve /etc/hostlar yük dengeleyicinin IP adresi ve ana bilgisayar adını içeren dosya

3.17.12.132   yük dengeleyici

Bundan sonra, server_01'den yük dengeleyiciye ping atabileceğinizi onaylayın

Ve aynı şekilde server_02'den

Ayrıca, sunuculara yük dengeleyiciden ping atabildiğinizden emin olun.

Mükemmel ! tüm sunucular yük dengeleyici ile iletişim kurabilir!

2. Adım: Yük dengeleyicide HA Proxy'yi kurun ve yapılandırın

HA Proxy, CentOS resmi deposunda hazır olduğundan, onu yum veya dnf paket yöneticisini kullanarak kuracağız.

Ama her zaman olduğu gibi, önce sistemi güncelleyin

# yum güncellemesi

Ardından, HA Proxy'yi gösterildiği gibi yükleyin

# yum haproxy'yi yükle

Başarılı kurulumdan sonra haproxy dizinine gidin.

# cd /etc/haproxy

En iyi uygulama, herhangi bir değişiklik yapmadan önce herhangi bir yapılandırma dosyasını yedeklememizi gerektirir.  Yani yedekleyin haproksi.cfg yeniden adlandırarak dosya.

#mv haproxy.cfg  haproxy.cfg.bak

Ardından, devam edin ve yapılandırma dosyasını açın

vim haproxy.cfg

Değişikliği gösterildiği gibi yaptığınızdan emin olun

#---------------------------------------------------------------------
# Genel Ayarlar
#---------------------------------------------------------------------
küresel
günlük         127.0.0.1 yerel2     #Günlük yapılandırması
 
chroot      /var/lib/haproxy
pidfile     /var/run/haproxy.pid
maxconn     4000
user        haproxy            #Haproxy "haproxy" kullanıcısı ve grubu altında çalışıyor
grup       haproxy
arka plan programı
 
# istatistik unix soketini aç
istatistik soketi /var/lib/haproxy/stats
 
#---------------------------------------------------------------------
# tüm 'dinle' ve 'arka uç' bölümlerinin kullanacağı ortak varsayılanlar
# bloklarında belirtilmemişse kullanın
#---------------------------------------------------------------------
varsayılanlar
mod                   http
günlük                   küresel
seçenek                 httplog
seçenek                 donlognull
seçenek http-sunucu-kapat
127 dışında seçenek iletme      .0.0.0/8
seçenek                 yeniden gönderme
yeniden deneme                3
zaman aşımı http isteği    10s
zaman aşımı kuyruğu           1m
zaman aşımı bağlantısı         10s
zaman aşımı istemcisi          1m
zaman aşımı sunucusu          1m
zaman aşımı http-canlı tutma 10s
zaman aşımı denetimi           10s
maxconn                3000
 
#---------------------------------------------------------------------
#HAProxy İzleme Yapılandırması
#---------------------------------------------------------------------
dinle haproxy3-monitoring *:8080               #Haproxy Monitoring 8080 numaralı bağlantı noktasında çalıştır
mod http
seçenek ileri
seçenek httpclose
istatistikler etkinleştir
istatistikler-efsaneler
istatistik yenileme 5s
istatistikler uri /stats                          HAProxy izleme için #URL
istatistikler alanı Haproxy\ İstatistikler
stats auth Password123: İzleme panosunda oturum açmak için Password123#User ve Password
TRUE ise istatistik yöneticisi
default_backend app-main                  #Bu, isteğe bağlı olarak arka ucu izlemek içindir
 
#---------------------------------------------------------------------
# Ön Uç Yapılandırması
#---------------------------------------------------------------------
ön uç ana
bağlama *:80
seçenek http-sunucu-kapat
seçenek ileri
default_backend uygulama-ana
 
#---------------------------------------------------------------------
# Denge algoritması olarak BackEnd round robin
#---------------------------------------------------------------------
arka uç uygulaması-ana
denge çevrimi                       #Balance algoritması
seçenek httpchk HEAD / HTTP/1.1\r\nAna bilgisayar:\ localhost
#Sunucu uygulamasının çalıştığını ve sağlıklı olduğunu kontrol edin - 200 durum kodu
sunucu sunucusu_01 3.19.229.234:80 kontrol               #Nginx1
sunucu sunucusu_02 3.17.9.217:80 kontrol                #Nginx2

Web sunucularının ana bilgisayar adını ve IP adreslerini son iki satırda belirtildiği gibi değiştirdiğinizden emin olun. Değişiklikleri kaydedin ve çıkın.

Sonraki adım, Rsyslog'u HAProxy istatistiklerini günlüğe kaydedebilecek şekilde yapılandırmak olacaktır.

# vim /etc/rsyslog.konf

UDP bağlantılarına izin vermek için aşağıdaki satırların yorumunu kaldırdığınızdan emin olun

$ModLoad imudp'si
$UDPServerRun 514

Ardından, devam edin ve yeni bir yapılandırma dosyası oluşturun  haproksi.konf

# vim  /etc/rsyslog.d/haproksi.konf

Aşağıdaki satırları yapıştırın, kaydedin ve çıkın

yerel2.=bilgi   /var/log/haproxy-access.günlük   #Erişim Günlüğü İçin
yerel2.bildirim  /var/log/haproxy-info.günlük     #Hizmet Bilgisi İçin - Arka uç, yük dengeleyici

Değişikliklerin etkili olması için rsyslog arka plan programını gösterildiği gibi yeniden başlatın:

# systemctl rsyslog'u yeniden başlat

Ardından HAProxy'yi başlatın ve etkinleştirin

# systemctl rsyslog'u başlat
# systemctl rsyslog'u etkinleştir

HAProxy'nin çalıştığını doğrulayın

# systemctl durumu rsyslog

3. Adım: Nginx'i kurun ve yapılandırın

Şimdi geriye kalan tek kısım Nginx kurulumu. Sunucuların her birine giriş yapın ve önce sistem paketlerini güncelleyin:

# yum güncellemesi

Sonraki yükleme EPEL (Enterprise Linux için Ekstra Paketler)

# yum epel sürümünü yükleyin

Nginx'i kurmak için şu komutu çalıştırın:

# yum nginx'i kurun

Ardından, Nginx'i başlatın ve etkinleştirin

# systemctl nginx'i başlat
# systemctl nginx'i etkinleştir

Daha sonra dizini değiştireceğiz.Yük dengeleyicinin web trafiğini her iki sunucuya nasıl dağıtabildiğini göstermek veya simüle etmek için her iki durumda da bir html dosyası oluşturun.

server_01 için

# echo "sunucu_01. Hey ! İlk web sunucusuna hoş geldiniz" > dizin.html

server_02 için

# echo "sunucu_02. Hey ! İkinci web sunucusuna hoş geldiniz" > dizin.html

Değişikliklerin uygulanabilmesi için Nginx'i yeniden başlatın

# systemctl nginx'i yeniden başlat

Adım 4: Yük dengeleyicinin çalışıp çalışmadığını test etme

Sonunda konfigürasyonun çalışıp çalışmadığını görmek istediğimiz noktadayız. Bu yüzden yük dengeleyicide oturum açın ve curl komutunu tekrar tekrar çalıştırın

# kıvrılma 3.17.12.132

Endeks değerini gösteren terminalde alternatif çıktı almalısınız.html  server_01 ve server_02'den

Şimdi bir web tarayıcısı kullanarak test edelim. Yük dengeleyicinizin IP adresine göz atın

http://load-balancer-IP-adresi

İlk sayfa, herhangi bir web sunucusundan gelen içeriği gösterecektir


Şimdi web sayfasını yenileyin ve diğer web sunucusundan içerik gösterip göstermediğini kontrol edin

Mükemmel ! Yük dengesi, IP trafiğini iki web sunucusu arasında eşit olarak dağıtıyor !
Bu, CentOS 8'de HAProxy'yi nasıl kurabileceğiniz ve yapılandırabileceğinizle ilgili bu öğreticiyi tamamlar. Geri bildiriminiz çok takdir edilecektir.

Wesnoth 1 Savaşı.13.6 Geliştirme Yayınlandı
Wesnoth 1 Savaşı.13.Geçen ay yayınlanan 6. sürüm, 1. sürümdeki altıncı geliştirme sürümüdür.13.x serisi ve özellikle kullanıcı arayüzü için bir dizi i...
Ubuntu 14'te League Of Legends Nasıl Kurulur.04
League of Legends hayranıysanız, bu, League of Legends koşusunu test etmeniz için bir fırsattır. Linux kullanıcısıysanız LOL'nin PlayOnLinux'ta destek...
En son OpenRA Strateji Oyununu Ubuntu Linux'a yükleyin
OpenRA, klasik Command & Conquer: Red Alert gibi erken Westwood oyunlarını yeniden yaratan bir Libre/Free Gerçek Zamanlı Strateji oyun motorudur. Dağı...