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 dengeleyiciArdı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üncellemeArdından, HA Proxy'yi gösterildiği gibi yükleyin
# en iyi kurulum haproksiBaşarılı yüklemenin ardından haproxy dizinine gidin.
# CD / vb / haproksiEn 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.bakArdından, devam edin ve yapılandırma dosyasını açın
çünkü haproxy.cfgDeğ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.confUDP 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.confAşağıdaki satırları yapıştırın, kaydedin ve çıkın
yerel2.=bilgi / öyleydi / kayıt / haproxy-access.log #Erişim Günlüğü İçinyerel2.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şlatArdı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 rsyslog3. 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üncellemeSonraki kurulum EPEL (Enterprise Linux için Ekstra Paketler)
# en iyi kurulum sıcak yayınNginx'i yüklemek için şu komutu çalıştırın:
# en iyi kurulum nginxArdı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.htmlserver_02 için
# Eko 'server_02. Hey! İkinci web sunucusuna hoş geldiniz' > index.htmlDeğişikliklerin etkili olması için Nginx'i yeniden başlatın
# systemctl nginx'i yeniden başlat4. 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.132Terminalde 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.