Jak skonfigurować haproxy jako równowagę obciążenia dla Nginx w Centos 8

Jak skonfigurować haproxy jako równowagę obciążenia dla Nginx w Centos 8
Proxy wysokiej dostępności, również skrócony jako Haproxy jest lekkim i szybkim modułem równoważenia, który również podwaja się jako serwer proxy. Jako równowaga obciążenia odgrywa kluczową rolę w dystrybucji przychodzącego ruchu internetowego na wielu serwerach internetowych, stosując określone kryteria. W ten sposób zapewnia wysoką dostępność i tolerancję błędów w przypadku, gdy istnieje zbyt wiele współbieżnych żądań, które mogą przeciążyć pojedynczy serwer WWW.

Haproxy jest używany przez popularne miejsca, takie jak Tumblr, Github i Stackoverflow. W tym przewodniku przeprowadzimy Cię przez instalację haproxy w konfiguracji serwisów internetowych, które są zasilane za pomocą Nginx.

Konfiguracja laboratoryjna

3 wystąpienia serwerów Centos 7, jak pokazano

Adresy IP nazwy hosta
Load_Balancer 3.17.12.132
server_01 3.19.229.234
server_02 3.17.9.217

Krok 1: Edytuj plik /etc /hosts dla równoważenia obciążenia

Aby rozpocząć, zaloguj się do systemu modułu równoważenia obciążenia i zmodyfikuj plik /etc /hosts, aby zawierać nazwy hosta i adresy IP dwóch serwerów Web, jak pokazano

$ vim /etc /hosts
3.19.229.234 Server_01
3.17.9.217 Server-02

Po zakończeniu zapisz zmiany i wyjdź z pliku konfiguracyjnego.

Teraz udaj się do każdego z serwerów internetowych i zaktualizuj /etc/hosts Plik z adresem IP i nazwa hosta balansu obciążenia

3.17.12.132 Balancer obciążenia

Następnie potwierdź, że możesz pingować równoważenie obciążenia z server_01

I podobnie z serwera_02

Upewnij się również, że możesz pingować serwery z równoważenia obciążenia.

Doskonały ! Wszystkie serwery mogą komunikować się z balansem obciążeniowym!

Krok 2: Zainstaluj i skonfiguruj proxy HA na balansie obciążenia

Ponieważ proxy HA jest łatwo dostępny w oficjalnym repozytorium Centos, zainstalujemy go za pomocą menedżera pakietu Yum lub DNF.

Ale jak zawsze najpierw zaktualizuj system

# Aktualizacja Yum

Następnie zainstaluj proxy HA, jak pokazano

# mniam instalacja haproxy

Po udanej instalacji przejdź do katalogu Haproxy.

# cd /etc /haproxy

Najlepsze praktyki wymaga od nas kopii zapasowej dowolnego pliku konfiguracyjnego przed dokonaniem jakichkolwiek modyfikacji. Więc wykonaj kopię zapasową Haproxy.CFG plik poprzez zmianę nazwy.

# mv haproxy.CFG Haproxy.CFG.Bak

Następnie kontynuuj i otwórz plik konfiguracyjny

Vim Haproxy.CFG

Upewnij się, że dokonasz modyfikacji, jak pokazano

#---------------------------------------------------------------------
# Ustawienia ogólne
#---------------------------------------------------------------------
światowy
Log 127.0.0.1 konfiguracja Local2 #log
chroot/var/lib/haproxy
Pidfile/var/run/haproxy.pid
Maxconn 4000
Użytkownik Haproxy #Haproxy działający pod użytkownikiem i grupą „Haproxy”
Grupa Haproxy
Demon
# Włącz STATS UNIX SNECKET
Stats Socket/var/lib/haproxy/stats
#---------------------------------------------------------------------
# Wspólne wartości domyślne, że wszystkie sekcje „słuchaj” i „backend” będą
# Użyj, jeśli nie zostanie wyznaczony w swoim bloku
#---------------------------------------------------------------------
domyślne
Tryb http
Log global
opcja httplog
opcja Don'tlognull
Opcja HTTP-SERVER-CLOSE
opcja do przodu na z wyjątkiem 127.0.0.0/8
opcja redispatch
PONOWNIE 3
Limit czasu HTTP-REQUEST 10S
Kolejka czasu 1m
Limit czasu Połącz 10s
Limit czasu klienta 1M
Serwer limitu czasu 1M
Limit czasu http-keep-alive 10s
Sprawdź limit czasu 10s
Maxconn 3000
#---------------------------------------------------------------------
#Haproxy Monitoring Config
#---------------------------------------------------------------------
Słuchaj haproxy3-monitoringu *: 8080 #haproxy Monitorowanie na porcie 8080
Tryb http
opcja do przodu
Opcja httpclose
Statystyki umożliwiają
Statystyki pokazowe
Statystyki odświeżnia 5s
statystyki URI /statystyki #URL do monitorowania haproxy
Stats Realm Haproxy \ Statistics
Stats Auth Hassel
Administrator statystyk, jeśli prawda
Default_backend App-Main #jest opcjonalnie do monitorowania zaplecza
#---------------------------------------------------------------------
# Konfiguracja frontendowa
#---------------------------------------------------------------------
Frontend Main
Bind *: 80
Opcja HTTP-SERVER-CLOSE
opcja do przodu
Default_backend App-Main
#---------------------------------------------------------------------
# Backend Round Robin jako algorytm bilansu
#---------------------------------------------------------------------
Aplikacja Backend
Algorytm bilansu Roundrobin #Balance
Opcja httpchk głowa / http / 1.1 \ r \ nhost: \ localhost
#Sprawdź aplikację serwera jest gotowa i wyczerpuje się - 200 kod stanu
Server Server_01 3.19.229.234: 80 Sprawdź #nginx1
Server Server_02 3.17.9.217: 80 Sprawdź #nginx2

Pamiętaj o zmodyfikowaniu nazwy hosta i adresów IP serwerów Web, jak wskazano w dwóch ostatnich wierszach. Zapisz zmiany i wyjdź.

Następnym krokiem będzie skonfigurowanie RSYSLOG, aby móc rejestrować statystyki Haproxy.

# vim /etc /rsyslog.conf

Upewnij się, że porzucisz poniższe wiersze, aby umożliwić połączenia UDP

$ Modload imudp
$ Udpserverrun 514

Następnie kontynuuj i utwórz nowy plik konfiguracyjny Haproxy.conf

# vim /etc /rsyslog.D/Haproxy.conf

Wklej następujące wiersze, zapisz i wyjdź

Local2.= info/var/log/haproxy-access.Zaloguj się #dla dziennika dostępu
Local2.zawiadomienie/var/log/haproxy-info.Log #For Informacje o usłudze - Backend, LoadBalancer

Aby zmiany w obowiązywaniu ponownie uruchom demona RSYSLOG, jak pokazano:

# Systemctl restart rsyslog

Następnie rozpocznij i włącz Haproxy

# Systemctl start rsyslog
# SystemCtl Włącz RSYSLOG

Sprawdź, czy Haproxy działa

# Status SystemCtl RSYSLOG

Krok 3: Zainstaluj i skonfiguruj Nginx

Teraz jedyną pozostałą częścią jest instalacja Nginx. Zaloguj się do każdego z serwerów i najpierw zaktualizuj pakiety systemowe:

# Aktualizacja Yum

Następnie zainstaluj EPEL (dodatkowe pakiety dla Enterprise Linux)

# mniam instaluj epel-uwalnianie

Aby zainstalować Nginx, uruchom polecenie:

# mniam instaluj nginx

Następnie uruchom i włącz Nginx

# Systemctl start nginx
# Systemctl Włącz Nginx

Następnie zamierzamy zmodyfikować indeks.plik HTML w obu przypadkach w celu zademonstrowania lub symulacji, w jaki sposób równowaga obciążenia jest w stanie rozpowszechniać ruch internetowy na obu serwerach.

Dla serwera_01

# echo "Server_01. Hej ! Witamy w pierwszym serwerze WWW "> indeks.html

Dla serwera_02

# echo "Server_02. Hej ! Witamy w drugim serwerze WWW "> indeks.html

Aby zmiany zostały dokonane, ponownie uruchom nginx

# Systemctl restart nginx

Krok 4: Testowanie, jeśli działa równowaga obciążenia

W końcu jesteśmy w punkcie, w którym chcemy sprawdzić, czy konfiguracja działa. Więc zaloguj się do równoważenia obciążenia i wykonaj polecenie Curl wielokrotnie

# curl 3.17.12.132

Powinieneś uzyskać naprzemienne dane wyjściowe na terminalu pokazującym wartość indeksu.HTML z Server_01 i Server_02

Teraz przetestujmy za pomocą przeglądarki internetowej. Przejrzyj adres IP swojego modułu równoważenia obciążenia

http: // loadbalancer-ip-address

Pierwsza strona wyświetli treść z dowolnego z serwerów Web


Teraz odśwież stronę internetową i sprawdź, czy wyświetla treść z drugiego serwera WWW

Doskonały ! Bilans obciążenia rozkłada ruch IP w równym stopniu między dwoma serwerami internetowymi !
To kończy ten samouczek na temat tego, jak możesz zainstalować, a także skonfigurować haproxy na Centos 8. Twoja opinia będzie bardzo mile widziana.