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

Haproxy Yi Centos 8 De Nginx Icin Yuk Dengeleyici Olarak Kurma



HAProxy olarak da kısaltılan Yüksek Kullanılabilirlik Proxy'si, hafif ve hızlı bir yük dengeleyicidir ve aynı zamanda bir proxy sunucusu olarak da kullanılabilir. Bir yük dengeleyici olarak, gelen web trafiğini belirli kriterler kullanarak birden fazla 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 sunucuları kurulumunda HAProxy'nin 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

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

Başlamak için yük dengeleyici sistemde 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



$ çünkü / vb / ana bilgisayarlar
3.19.229.234   sunucu_01
3.17.9.217     sunucu-02



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





Şimdi her bir web sunucusuna gidin ve /etc/hosts yük dengeleyicinin IP adresini ve ana bilgisayar adını içeren dosya

3.17.12.132   yük dengeleyici

Ardından, sunucu_01'den yük dengeleyiciye ping gönderebileceğinizi onaylayın



Ve aynı şekilde server_02'den

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

Kusursuz ! 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 deposundan kolayca temin edilebildiğinden, onu yum veya dnf paket yöneticisini kullanarak kuracağız.

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

# yum güncelleme

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

# en iyi kurulum haproksi

Başarılı yüklemenin ardından haproxy dizinine gidin.

# CD / vb / haproksi

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

# mv haproxy.cfg  haproxy.cfg.bak

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

çünkü 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ı

kök / öyleydi / lib / haproksi
pid dosyası / öyleydi / koşmak / haproxy.pid
maxconn 4000
kullanıcı        haproxy Kullanıcı ve 'haproxy' grubu altında çalışan #Haproxy
grup       haproksi
cini

# istatistik unix soketini aç
istatistik soketi / öyleydi / lib / haproksi / istatistikler

#---------------------------------------------------------------- --------------------
# tüm 'dinle' ve 'arka uç' bölümlerinin yapacağı ortak varsayılanlar
# bloklarında belirtilmemişse kullanın
#---------------------------------------------------------------- --------------------
varsayılanlar
mod                    http
günlük                     küresel
seçenek                  httplog
seçenek                  dontlognull
seçenek http-sunucu-kapat
seçenek iletme       hariç 127.0.0.0 / 8
seçenek                  yeniden gönderme
yeniden denemeler 3
zaman aşımı http isteği    10 saniye
zaman aşımı kuyruğu           1 dk
zaman aşımı bağlantısı         10 sn
zaman aşımı istemcisi          1 dk
zaman aşımı sunucusu          1 dk
zaman aşımı http-canlı tut 10s
zaman aşımı kontrolü           10 sn
maxconn 3000

#---------------------------------------------------------------- --------------------
#HAProxy İzleme Yapılandırması
#---------------------------------------------------------------- --------------------
haproxy3 izlemeyi dinle * : 8080 #Haproxy İzleme, 8080 numaralı bağlantı noktasında çalışır
mod http
seçenek iletme
seçenek httpkapat
istatistikler etkinleştirme
istatistikler gösteri efsaneleri
istatistik yenileme 5s
istatistikler / istatistikler HAProxy izleme için #URL
istatistik alanı Haproxy\ İstatistikler
istatistik auth Parola123: Parola123 İzleme panosunda oturum açmak için #Kullanıcı ve Parola
istatistik yöneticisi Eğer DOĞRU
default_backend uygulama ana #Bu isteğe bağlı olarak arka ucu izlemek içindir

#---------------------------------------------------------------- --------------------
# Ön Uç Yapılandırması
#---------------------------------------------------------------- --------------------
ön uç ana
bağlamak * : 80
seçenek http-sunucu-kapat
seçenek iletme
default_backend uygulama ana

#---------------------------------------------------------------- --------------------
# Denge algoritması olarak BackEnd round robin
#---------------------------------------------------------------- --------------------
arka uç uygulama ana

denge döngüsü #Denge algoritması

seçenek httpchk HEAD / HTTP / 1.1 \r\nAna Bilgisayar:\ yerel ana bilgisayar
#Sunucu uygulamasının açık ve sağlıklı olduğunu kontrol edin - 200 durum kodu

sunucu server_01 3.19.229.234: 80 Kontrol #Nginx1

sunucu server_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.

Bir sonraki adım, HAProxy istatistiklerini günlüğe kaydedebilmek için Rsyslog'u yapılandırmak olacaktır.

# çünkü / vb / rsyslog.conf

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

$ModYük imudp
$UDPServerRun 514

Ardından devam edin ve yeni bir yapılandırma dosyası oluşturun haproxy.conf

# çünkü / vb / rsyslog.d / haproxy.conf

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

yerel2.=bilgi / öyleydi / kayıt / haproxy-access.log #Erişim Günlüğü İçin
yerel2.notice / öyleydi / kayıt / haproxy-info.log #Hizmet Bilgisi İçin - Arka uç, yük dengeleyici

Değişikliklerin etkili olması için rsyslog daemon'unu 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üncelleme

Sonraki kurulum  EPEL (Enterprise Linux için Ekstra Paketler)

# en iyi kurulum sıcak yayın

Nginx'i yüklemek için şu komutu çalıştırın:

# en iyi kurulum nginx

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

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

Ardından, yük dengeleyicinin web trafiğini her iki sunucuya nasıl dağıttığını göstermek veya simüle etmek için her iki durumda da index.html dosyasını değiştireceğiz.

server_01 için

# Eko 'server_01. Hey! İlk web sunucusuna hoş geldiniz' > index.html

server_02 için

# Eko 'server_02. Hey! İkinci web sunucusuna hoş geldiniz' > index.html

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

# systemctl nginx'i yeniden başlat

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

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

# kıvırmak 3.17.12.132

Terminalde server_01 ve server_02'den index.html değerini gösteren alternatif çıktı almanız gerekir.

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

http: // yük dengeleyici-IP-adresi

İlk sayfa herhangi bir web sunucusundan içerik gösterecektir.


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

Kusursuz ! 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ğinizi ve yapılandırabileceğinizi anlatan bu öğreticiyi tamamlıyor. Geri bildiriminiz çok makbule geçecek.