HAProxy

Jak skonfigurować HAProxy jako Load Balancer dla Nginx w CentOS 8?

Jak skonfigurować HAProxy jako Load Balancer dla Nginx w CentOS 8?
Serwer proxy wysokiej dostępności, w skrócie HAProxy to lekki i szybki moduł równoważenia obciążenia, który może również służyć jako serwer proxy. Jako równoważnik obciążenia odgrywa kluczową rolę w dystrybucji przychodzącego ruchu internetowego na wiele serwerów internetowych przy użyciu określonych kryteriów. W ten sposób zapewnia wysoką dostępność i odporność na błędy w przypadku zbyt wielu jednoczesnych żądań, które mogą przeciążyć pojedynczy serwer WWW.

HaProxy jest używany przez popularne witryny, takie jak Tumblr, GitHub i StackOverflow. W tym przewodniku przeprowadzimy Cię przez proces instalacji HAProxy w konfiguracji serwerów WWW zasilanych za pomocą Nginx.

Konfiguracja laboratorium

3 instancje serwerów CentOS 7, jak pokazano

Nazwa hosta           Adresy IP
load_balancer      3.17.12.132
serwer_01          3.19.229.234
serwer_02          3.17.9.217

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

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

$ vim /etc/hosty
3.19.229.234   serwer_01
3.17.9.217     serwer-02

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

Teraz przejdź do każdego z serwerów internetowych i zaktualizuj /etc/hosty plik z adresem IP i nazwą hosta load balancera

3.17.12.132   równoważenie obciążenia

Następnie potwierdź, że możesz wysłać pakiet ping do systemu równoważenia obciążenia z serwera server_01

I podobnie z server_02

Upewnij się również, że możesz pingować serwery z load balancera.

Idealny ! wszystkie serwery mogą komunikować się z load balancerem!

Krok 2: Zainstaluj i skonfiguruj HA Proxy na module równoważenia obciążenia

Ponieważ HA Proxy jest łatwo dostępny z oficjalnego repozytorium CentOS, zamierzamy zainstalować go za pomocą menedżera pakietów yum lub dnf.

Ale jak zwykle najpierw zaktualizuj system

# mniam aktualizacja

Następnie zainstaluj HA Proxy, jak pokazano

# mniam zainstaluj haproxy

Po pomyślnej instalacji przejdź do katalogu haproxy.

# cd /etc/haproxy

Najlepsza praktyka wymaga od nas wykonania kopii zapasowej dowolnego pliku konfiguracyjnego przed wprowadzeniem jakichkolwiek modyfikacji.  Więc wykonaj kopię zapasową haproxy.cfg plik zmieniając jego nazwęna.

# mv haproxy.cfg haproxy.cfg.Bak

Następnie kontynuuj i otwórz plik konfiguracyjny

vim haproxy.cfg

Upewnij się, że dokonałeś modyfikacji, jak pokazano

#---------------------------------------------------------------------
# Ustawienia ogólne
#---------------------------------------------------------------------
światowy
log         127.0.0.1 lokalny2     #Konfiguracja dziennika
 
chroot      /var/lib/haproxy
pidfile     /var/run/haproxy.pid
maxconn     4000
użytkownik        haproxy              #Haproxy działa w ramach użytkownika i grupy „haproxy”
grupa       haproxy
demon
 
# włącz stats unix socket
gniazdo statystyk /var/lib/haproxy/stats
 
#---------------------------------------------------------------------
# typowe wartości domyślne, zgodnie z którymi będą działać wszystkie sekcje 'listen' i 'backend'
# użyj, jeśli nie jest wskazany w ich bloku
#---------------------------------------------------------------------
domyślne
tryb                    http
log                     globalnie
opcja                  httplog
opcja                  dontlognull
opcja http-serwer-zamknij
opcja forwardfor       z wyjątkiem 127.0.0.0/8
opcja                  ponowna wysyłka
ponownych prób                 3
limit czasu żądania http    10s
kolejka po przekroczeniu limitu czasu           1m
limit czasu połączenia         10s
klient limitu czasu          1m
serwer limitu czasu          1m
timeout http-utrzymaj-na żywo 10s
sprawdzenie limitu czasu           10s
maxconn                 3000
 
#---------------------------------------------------------------------
#Konfiguracja monitorowania HAProxy
#---------------------------------------------------------------------
słuchać haproxy3-monitoring *:8080               #Haproxy Monitoring uruchomiony na porcie 8080
tryb http
opcja forwardfor
opcja httpzamknij
statystyki włączone
statystyki pokazują legendy
statystyki odświeżają się 5s
stats uri /stats                                 #URL do monitorowania HAProxy
statystyki królestwo Haproxy\ Statistics
stats auth Hasło123: Hasło123#Użytkownik i Hasło do logowania do panelu monitorowania
administrator statystyk, jeśli TRUE
default_backend app-main                    # To jest opcjonalnie do monitorowania zaplecza
 
#---------------------------------------------------------------------
# Konfiguracja frontendu
#---------------------------------------------------------------------
główny frontend
wiązanie *:80
opcja http-serwer-zamknij
opcja forwardfor
default_backend aplikacja-główna
 
#---------------------------------------------------------------------
# BackEnd round robin jako algorytm równowagi
#---------------------------------------------------------------------
Główna aplikacja zaplecza
Balance roundrobin                              #Algorytm równowagi
opcja httpchk HEAD / HTTP/1.1\r\nHost:\lokalny host
#Sprawdź, czy aplikacja serwera działa i jest zdrowa - kod stanu 200
serwer serwer_01 3.19.229.234:80 sprawdź               #Nginx1
serwer serwer_02 3.17.9.217:80 sprawdź                 #Nginx2

Pamiętaj, aby zmodyfikować nazwę hosta i adresy IP serwerów internetowych, jak wskazano w ostatnich dwóch wierszach. Zapisz zmiany i wyjdź.

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

# vim /etc/rsyslog.konf

Upewnij się, że odkomentowałeś poniższe linie, aby umożliwić połączenia UDP

$ModLoad imudp
$UDPServerRun 514

Następnie kontynuuj i utwórz nowy plik konfiguracyjny  haproxy.konf

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

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

lokalny2.=informacje   /var/log/haproxy-access.dziennik   #Dla dziennika dostępu
lokalny2.uwaga  /var/log/haproxy-info.log     #Informacje o usłudze — zaplecze, system równoważenia obciążenia

Aby zmiany zaczęły obowiązywać, uruchom ponownie demona rsyslog, jak pokazano:

# systemctl restart rsyslog

Następnie uruchom i włącz HAProxy

# systemctl start rsyslog
# systemctl włącz rsyslog

Sprawdź, czy HAProxy działa is

# 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:

# mniam aktualizacja

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

# mniam zainstaluj epel-release

Aby zainstalować Nginx, uruchom polecenie:

# mniam zainstaluj nginx

Następnie uruchom i włącz Nginx

# systemctl uruchom nginx
# systemctl włącz nginx

Następnie zmodyfikujemy indeks.plik html w obu przypadkach, aby zademonstrować lub zasymulować, w jaki sposób load balancer jest w stanie rozłożyć ruch sieciowy na oba serwery.

Dla server_01

# echo "server_01. Hej ! Witamy na pierwszym serwerze WWW” > indeks.html

Dla serwera_02

# echo "server_02. Hej ! Witamy na drugim serwerze WWW” > indeks.html

Aby zmiany zostały wprowadzone, uruchom ponownie Nginx

# systemctl restart nginx

Krok 4: Testowanie, czy system równoważenia obciążenia działa

W końcu jesteśmy w punkcie, w którym chcemy sprawdzić, czy konfiguracja działa. Zaloguj się więc do systemu równoważenia obciążenia i wielokrotnie wykonuj polecenie curl

# zwijanie 3.17.12.132

Powinieneś otrzymywać naprzemienne dane wyjściowe na terminalu pokazujące wartość indeksu.html  z server_01 i server_02

Teraz przetestujmy za pomocą przeglądarki internetowej. Przeglądaj adres IP swojego load balancera

http://adres-IP-równoważnika-obciążenia

Pierwsza strona wyświetli zawartość z dowolnego serwera internetowego


Teraz odśwież stronę i sprawdź, czy wyświetla zawartość z innego serwera WWW web

Idealny ! Równoważenie obciążenia rozkłada ruch IP równo między dwa serwery internetowe !
To kończy ten samouczek, jak zainstalować i skonfigurować HAProxy na CentOS 8. Twoja opinia będzie bardzo ceniona.

How to change Mouse pointer and cursor size, color & scheme on Windows 10
The mouse pointer and cursor in Windows 10 are very important aspects of the operating system. This can be said for other operating systems as well, s...
Gry Darmowe i otwarte silniki gier do tworzenia gier na Linuksa
Darmowe i otwarte silniki gier do tworzenia gier na Linuksa
Ten artykuł zawiera listę darmowych i otwartych silników gier, których można używać do tworzenia gier 2D i 3D w systemie Linux. Istnieje wiele takich ...
Gry Samouczek Shadow of the Tomb Raider dla systemu Linux
Samouczek Shadow of the Tomb Raider dla systemu Linux
Shadow of the Tomb Raider to dwunasty dodatek do serii Tomb Raider - przygodowej serii gier akcji stworzonej przez Eidos Montreal. Gra została dość do...