Równoważenie obciążenia to najczęstsza praktyka dystrybucji przychodzącego ruchu internetowego między wiele serwerów zaplecza. Dzięki temu aplikacja jest wysoce dostępna, nawet jeśli niektóre serwery z jakiegoś powodu ulegną awarii. Load Balancing zwiększa wydajność i niezawodność aplikacji webowej. W tym samym celu służy równoważnik obciążenia HAProxy. Jest to najczęściej stosowany system równoważenia obciążenia w przemyśle. Zgodnie z oficjalną stroną internetową, HAProxy jest używany przez wiodące firmy, takie jak AWS, Fedora, Github i wiele innych.
HAProxy lub High Availability Proxy zapewnia wysoką dostępność i rozwiązanie proxy. Jest napisany w C i działa w warstwie sieciowej i aplikacyjnej modelu TCP/IP. Najlepsze jest to, że ma darmową edycję społecznościową i jest to aplikacja typu open source. Działa na systemach operacyjnych Linux, FreeBSD i Solaris. Wersja Enterprise też tam jest, ale ma swoją cenę.
W tym przewodniku zobaczymy Jak zainstalować HAProxy i skonfigurować serwer równoważenia obciążenia w Debianie 10?.
Wymagania wstępne:
- Dostęp „sudo” do wszystkich maszyn i podstawowa wiedza na temat uruchamiania poleceń w terminalu Linux.
- Prywatne adresy IP dodane do równoważenia obciążenia i serwerów zaplecza.
- System operacyjny Debian 10 zainstalowany na wszystkich komputerach.
Instalacja HAProxy na Debianie 10
W naszym poradniku przyjmiemy następującą konfigurację adresu IP:
- System równoważenia obciążenia HAProxy 10.0.12.10
- Serwer WWW1: Adres IP: 10.0.12.15
- Serwer WWW2: Adres IP: 10.0.12.16
Krok 1. Zaktualizuj repozytorium i pakiety systemu Debiana
Najpierw uruchom poniższe polecenia we wszystkich systemach, aby zaktualizować pakiety oprogramowania do najnowszej.
$ sudo apt aktualizacja$ sudo apt upgrade -y
Krok: 2 Zainstaluj Nginx na serwerach zaplecza
Przygotuj serwery zaplecza, instalując serwer WWW Nginx na każdym z nich. Możesz także zainstalować inne serwery internetowe, takie jak Apache.
Aby zainstalować Nginx, uruchom następujące polecenia na każdym serwerze zaplecza w swoim środowisku:
$ sudo apt zainstaluj nginxKrok: 3 Po zainstalowaniu Nginx na serwerach zaplecza uruchom usługę, jak pokazano poniżej:
$ sudo systemctl start nginxWSKAZÓWKA: Możemy również zarządzać serwerem WWW nginx za pomocą poniższego polecenia:
$ sudo /etc/init.d/nginx „opcja”opcja: start przeładowanie restart status stop
Krok: 4 Utwórz niestandardowe strony indeksowe w folderze sieciowym każdego serwera sieciowego Nginx. Pomoże nam to odróżnić, który serwer zaplecza obsługuje przychodzące żądania.
Na każdym serwerze WWW wykonaj następujące czynności:
Utwórz kopię zapasową oryginalnego pliku indeksu za pomocą następującego polecenia:
$ sudo cp /usr/share/nginx/html/index.html /usr/share/nginx/html/index.html.pochodzenieDodaj własny tekst do indeksu.plik html. Dodajemy adres IP każdego serwera WWW.
Dla serwera WWW 1:
$ sudo echo "Serwer WWW 1: 10.0.12.15" | koszulka sudo /usr/share/nginx/html/index.htmlDla serwera WWW 2:
$ sudo echo "Serwer WWW 2: 10.0.12.16" | koszulka sudo /usr/share/nginx/html/index.htmlMożesz również użyć edytora vi, jeśli czujesz się z tym bardziej komfortowo. Jest to pokazane poniżej:
$ sudo vi /usr/share/nginx/html/index.htmlPo otwarciu pliku wprowadź tekst i zapisz plik.
Otwórz domyślny plik wirtualnego hosta w katalogu „/etc/nginx/sites-available/”.
$ sudo nano /etc/nginx/sites-available/defaultTeraz w bloku serwera zmień dyrektywę główną z „/var/www/html” na „/usr/share/nginx/html”.
Aby sprawdzić konfigurację Nginx, uruchom następujące polecenie:
$ sudo nginx -tKrok 5: Teraz uruchom ponownie usługę za pomocą polecenia:
$ sudo systemctl restart nginxMożesz sprawdzić stan nginx za pomocą następującego polecenia:
$ sudo systemctl status nginxKrok: 6 Aby zainstalować HAProxy na Debianie 10 (Buster), uruchom następującą komendę na load balancerze.
$ sudo apt install haproxy -yWskazówka: Po zainstalowaniu HAProxy możesz zarządzać HAProxy za pomocą skryptu startowego. W tym celu ustaw parametr „enabled” na 1 w „/etc/default/haproxy”, jak pokazano poniżej:
$ sudo vi /etc/default/haproxyWŁĄCZONE=1
Teraz ze skryptem startowym można użyć następującej opcji:
$ usługa sudo haproxy „opcja.”opcja: start przeładowanie restart status stop
Krok: 7 Teraz skonfiguruj moduł równoważenia obciążenia HAProxy, edytując domyślny plik konfiguracyjny haproxy, i.mi. „/ itp/haproxy/haproxy.cfg”. Aby edytować ten plik, uruchom następujące polecenie
$ sudo vi /etc/haproxy/haproxy.cfgWskazówka: Wykonaj kopię zapasową oryginalnego pliku, aby w przypadku, gdy coś pójdzie nie tak, wszyscy będziemy bezpieczni. Aby wykonać kopię zapasową, użyj następującego polecenia:
$ sudo cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.pochodzenieTeraz przejdź do końca pliku i edytuj następujące informacje:
nakładka na lokalny_serwerwiązać 10.0.12.10:80
tryb http
serwer sieciowy default_backend
serwer zaplecza
tryb http
równowaga roundrobin
opcja forwardfor
http-request set-header X-Forwarded-Port %[dst_port]
http-request add-header X-Forwarded-Proto https if ssl_fc
opcja httpchk HEAD / HTTP/1.1rnHost:localhost
serwer web1 10.0.12.15:80
serwer web2 10.0.12.16:80
Uwaga: Nie zapomnij zmienić adresów IP w powyższym pliku na ten, który dodałeś do swoich serwerów internetowych.
Krok: 8 Sprawdź składnię konfiguracji powyższego pliku za pomocą następującego polecenia:
$ sudo haproxy -c -f /etc/haproxy/haproxy.cfgJeśli wszystko pójdzie dobrze, wyświetli się komunikat: „Plik konfiguracyjny jest prawidłowy.” Jeśli w danych wyjściowych pojawi się jakiś błąd, sprawdź ponownie plik konfiguracyjny i zweryfikuj go ponownie.
Krok: 9 Teraz uruchom ponownie usługę HAProxy, aby zastosować zmiany
$ restart usługi sudo haproxyTestowanie konfiguracji
Teraz nadszedł czas, aby sprawdzić, czy nasza konfiguracja działa poprawnie. Wpisz IP systemu load balancera w przeglądarce internetowej (w naszym przypadku jest to 10.0.12.10) i odświeżaj stronę nieprzerwanie 2-4 razy, aby sprawdzić, czy system równoważenia obciążenia HAProxy działa prawidłowo. Powinieneś zobaczyć różne adresy IP lub dowolny tekst, który wpisałeś w indeksie.plik html przy wielokrotnym odświeżaniu strony.
Innym sposobem sprawdzenia jest przełączenie jednego serwera WWW w tryb offline i sprawdzenie, czy inny serwer WWW obsługuje żądania.
To wszystko na teraz! Spróbuj poeksperymentować z HAProxy, aby dowiedzieć się więcej o tym, jak to działa. Dla e.sol., możesz spróbować:
- Integracja innego serwera WWW oprócz nginx.
- Zmiana algorytmu równoważenia obciążenia na inny niż round-robin.
- Konfigurowanie kontroli stanu HAProxy w celu określenia, czy serwer zaplecza działa, czy nie.
- Stosowanie sesji przyklejonych w celu połączenia użytkownika z tym samym serwerem zaplecza.
- Korzystanie ze statystyk HAProxy, aby uzyskać wgląd w ruch na serwerach.
HAProxy posiada obszerną dokumentację dostępną zarówno dla wersji HAProxy community i HAProxy enterprise. Zapoznaj się z tą dokumentacją, aby uzyskać więcej informacji na temat poprawy wydajności i niezawodności środowiska serwerowego.
Ten przewodnik został pomyślnie wykonany na Debianie 10 (Buster). Spróbuj zainstalować HAProxy na innych dystrybucjach opartych na Debianie, takich jak Ubuntu, Linux Mint itp. Nie zapomnij podzielić się tym przewodnikiem z innymi.