Skonfigurowaliśmy trzy maszyny. Zainstalujemy Haproxy na jednym serwerze i serwerach Apache Web na dwóch serwerach. Nasz serwer Haproxy będzie następnie działał jako moduł równoważenia obciążenia i rozdzieli obciążenie między serwerami Apache Web.
Notatka: Procedura i polecenia wymienione w tym poście zostały przetestowane Ubuntu 20.04 LTS (Focal Fossa). Ta sama procedura jest również ważna dla dystrybucji Debian i Mint.
Szczegóły sieci
Będziemy używać trzech serwerów Ubuntu; Wszystko w tej samej sieci. Szczegóły naszych serwerów są następujące:
Nazwa hosta: Haproxy, adres IP: 192.168.72.157 (serwer frontend)
Nazwa hosta: Web-Server1, adres IP: 192.168.72.158 (serwery zaplecza)
Nazwa hosta: Web-Server2, adres IP: 192.168.72.159 (serwery zaplecza)
Notatka: Musisz mieć przywileje sudo na wszystkich serwerach.
Skonfigurujemy jedną maszynę jako moduł równoważenia obciążenia, a pozostałe dwa jako serwery internetowe. Serwer Haproxy będzie naszym serwerem front-end, który odbędzie żądania od użytkowników i przekazuje je do dwóch serwerów Web. Serwery internetowe będą naszymi serwerami zaplecza, które otrzymają przekazane żądania.
Tak wygląda nasza konfiguracja:
Konfigurowanie serwerów serwerów Web-Backend
W tej sekcji skonfigurujemy dwa serwery internetowe (Web-Server1 I Web-Server2) Jako nasze serwery zaplecza.
Na Web-Server1 (192.168.72.158)
Wykonaj poniższe kroki na swoim serwerze internetowym. Pamiętaj, aby zastąpić nazwy hosta i adresy IP odpowiednimi adresami IP i nazw hostów serwerów internetowych.
NA Web-Server1, edytuj /etc/hosts plik:
$ sudo nano /itp
Następnie dodaj wpis nazwy hosta Haproxy serwer w następujący sposób:
HostName-of-Haproxy ip-address-of-haproxy
W naszym scenariuszu byłoby to:
Haproxy 192.168.72.157
Skonfiguruj Apache Webserver
Teraz zainstaluj Apache Web Server za pomocą poniższego polecenia w terminalu. Możesz także odwiedzić nasz post na Jak zainstalować serwer WWW Apache w systemie Linux.
$ sudo apt Zainstaluj apache2
Następnie włącz i uruchom usługę Apache przy użyciu poniższych poleceń w terminalu:
$ sudo systemctl włącz apache2
$ sudo systemctl start apache2
Utwórz plik indeksu dla Web-Server1 Korzystanie z poniższego polecenia w terminalu:
$ echo "Cześć! To jest WebServer1: 192.168.72.158
"| sudo tee/var/www/html/index.html
Jeśli w systemie działa zapora ogniowa, będziesz musiał zezwolić na ruch Apache przez niego:
$ sudo ufw pozwól 80/tcp
Następnie ponownie załaduj konfiguracje zapory:
$ UFW RELOOD
Teraz spróbuj uzyskać dostęp do witryny w przeglądarce internetowej, wpisując http: // a następnie adres IP lub nazwa hosta Twojego serwera WWW.
http: // hostName-or-ip-address
Alternatywnie możesz również użyć polecenia curl, aby przetestować stronę internetową.
$ curl
Na serwerze WWW-2 192.168.72.159)
Wykonaj poniższe kroki na drugim serwerze WWW. Pamiętaj, aby zastąpić nazwy hosta i adresy IP odpowiednimi adresami IP i nazw hostów serwerów internetowych.
W Web-Server2, edytuj /etc/hosts plik:
$ sudo nano /itp
Następnie dodaj wpis nazwy hosta Haproxy serwer w następujący sposób:
Haproxy 192.168.72.157
Teraz zainstaluj Apache Web Server za pomocą poniższego polecenia w terminalu.
$ sudo apt Zainstaluj apache2
Następnie włącz i uruchom usługę Apache przy użyciu poniższych poleceń w terminalu:
$ sudo systemctl włącz apache2
$ sudo systemctl start apache2
Utwórz plik indeksu dla Web-Server2 za pomocą poniższego polecenia w terminalu:
$ echo "Cześć! To jest WebServer2: 192.168.72.159
"| sudo tee/var/www/html/index.html
Pozwól Apache w zaporze:
$ sudo ufw pozwól 80/tcp
a następnie ponownie załaduj konfiguracje zapory:
$ UFW RELOOD
Teraz spróbuj uzyskać dostęp do witryny w przeglądarce internetowej, wpisując http: // a następnie adres IP lub nazwa hosta.
http: // hostName-or-ip-address
Alternatywnie możesz użyć polecenia curl do testowania strony internetowej.
$ curl
Teraz nasze serwery internetowe Apache są gotowe.
Konfigurowanie serwera haproxy obciążenia Frontend
W tej sekcji skonfigurujemy dla naszego równoważenia haproxy obciążenia serwery internetowe. Ten serwer Haproxy będzie działał jako serwer frontendowy i przyjmuje przychodzące żądania od klientów.
Na Haproxy serwer (192.168.72.157), Wykonaj poniższe kroki, aby konfigurować równoważenie obciążenia.
Skonfiguruj plik hostów
Edytuj /etc/hosts Plik za pomocą poniższego polecenia w terminalu:
$ sudo nano /itp
Dodaj następujące wpisy nazwy hosta dla obu Apache serwery internetowe wraz z własną nazwą hosta:
192.168.72.157 Haproxy
192.168.72.158 Web-Server1
192.168.72.159 Web-Server2
Teraz zapisz i zamknij /etc/hosts plik.
Instalowanie równoważenia haproxy obciążenia
Teraz na tym etapie będziemy instalować haproxy na jednym z naszych serwerów Ubuntu (192.168.72.157). Aby to zrobić, zaktualizuj apt za pomocą następującego polecenia w terminalu:
Aktualizacja $ sudo apt-get
Następnie zaktualizuj pakiety za pomocą poniższego polecenia:
$ sudo apt-get aktualiza
Teraz zainstaluj Haproxy za pomocą następującego polecenia w terminalu:
$ sudo sudo apt instal haproxy
Po zakończeniu instalacji serwera Haproxy możesz to potwierdzić za pomocą poniższego polecenia w terminalu:
$ haproxy -v
Pokaże ci zainstalowaną wersję Haproxy w twoim systemie, która sprawdza, czy haproxy został pomyślnie zainstalowany.
Konfigurowanie haproxy jako równoważenia obciążenia
W poniższej sekcji skonfigurujemy haproxy jako równowagę obciążenia. Zrobić to, edytuj/etc/haproxy/haproxy.CFG plik:
$ sudo nano /etc/haproxy/haproxy.CFG
Dołącz następujące wiersze w haproxy.plik CFG zastępujący adresy IP własnymi adresami IP.
Frontend Web Frontend W powyższych wierszach konfiguracyjnych mówi Haproxy, aby słuchała przychodzących żądań w porcie 80 z 192.168.72.157 a następnie przekazuj je do serwerów backend skonfigurowanych w ramach Backend OPADENT. Konfigurując, zastąp adresy IP odpowiednimi adresami IP swoich serwerów internetowych.
Konfigurowanie monitorowania haproxy
Dzięki monitorowaniu haproxy możesz wyświetlić wiele informacji, w tym status serwera, przesyłane dane, czas aktualizacji, szybkość sesji itp. Aby skonfigurować monitorowanie haproxy, dołącz następujące wiersze w pliku konfiguracyjnym znajdującym /etc/haproxy/haproxy.CFG:
Słuchaj statystyk
Bind 192.168.72.157: 8080
Tryb http
opcja do przodu
Opcja httpclose
Statystyki umożliwiają
Statystyki pokazowe
Statystyki odświeżnia 5s
statystyki URI /statystyki
Stats Realm Haproxy \ Statistics
Stats Auth KBUZDAR: KBUZDAR #LOGIN Użytkownik i hasło do monitorowania
Administrator statystyk, jeśli prawda
Default_backend-Backend
Powyższa konfiguracja umożliwia haproxy „statystyki”Strona za pomocą statystyki dyrektywy i zabezpiecza to http Podstawowe uwierzytelnianie za pomocą nazwy użytkownika i hasła zdefiniowane przez Stats Auth dyrektywa.
Po zakończeniu konfiguracji zapisz i zamknij Haproxy.plik CFG.
Teraz sprawdź plik konfiguracyjny za pomocą poniższego polecenia w terminalu:
$ haproxy -c -f/etc/haproxy/haproxy.CFG
Poniższe dane wyjściowe pokazuje, że konfiguracje są prawidłowe.
Teraz, aby zastosować konfiguracje, uruchom ponownie usługę Haproxy:
$ sudo systemctl restart haproxy.praca
Zatrzyma się, a następnie uruchomi usługę Haproxy.
Aby sprawdzić status usługi Haproxy, poleceniem byłoby:
$ sudo Systemctl Status Haproxy.praca
aktywny (bieganie) Status w następującym wyjściu pokazuje, że serwer Haproxy jest włączony i działa dobrze.
Oto kilka innych poleceń zarządzania serwerem Haproxy:
Aby uruchomić serwer Haproxy, polecenie brzmiałoby:
$ sudo systemctl start haproxy.praca
Aby zatrzymać serwer Haproxy, polecenie brzmiałoby:
$ sudo systemCtl Stop Haproxy.praca
Jeśli chcesz tymczasowo wyłączyć serwer haproxy, poleceniem byłoby:
$ sudo systemctl wyłącz haproxy.praca
Aby ponownie włączyć serwer Haproxy, poleceniem byłoby:
$ sudo systemCtl włącza haproxy.praca
Test Haproxy
Przed przetestowaniem konfiguracji haproxy upewnij się, że masz łączność z serwerami internetowymi. Z twojego serwera Haproxy ping oba serwery internetowe według ich adresów IP lub nazw hostów.
$ ping hostName-albo-ep-address
Poniższe dane wyjściowe pokazuje, że serwer Haproxy może dotrzeć do obu serwerów Web.
Test HA proxy za pomocą przeglądarki internetowej
Teraz na serwerze Haproxy otwórz dowolną przeglądarkę internetową i typ http: // a następnie adres IP serwera Haproxy, który w naszym przypadku wynosi 192.168.72.157.
http: // 192.168.72.157
Serwer Haproxy alternatywnie wyśle żądanie do obu serwerów Web w metodzie okrągłej roboty. Możesz to przetestować, ponownie załadując stronę internetową.
To jest odpowiedź, którą otrzymaliśmy, kiedy odwiedziliśmy http: // 192.168.72.157 po raz pierwszy:
To jest odpowiedź, którą otrzymaliśmy, gdy ponownie załadowaliśmy stronę internetową:
Możesz także użyć nazwy hosta zamiast adresu IP serwera Haproxy.
Test HA Proxy za pomocą Curl
Możesz także użyć polecenia curl w Linux, aby przetestować konfigurację haproxy. Otwórz terminal i typ kędzior a następnie adres IP lub nazwa hosta serwera Haproxy.
$ curl 192.168.72.157
Lub
$ curl haproxy
Uruchom polecenie Curl kilka razy, a zobaczysz odpowiedź na przemian obu serwerów Web.
Zamiast uruchamiać polecenia kilka razy, możesz również uruchomić następujący skrypt jednoletowy, aby przetestować serwer Haproxy:
$, choć prawdziwe; do curl 192.168.72.157; sen 1; zrobione
Testowanie monitorowania haproxy
Aby uzyskać dostęp do strony monitorowania haproxy, wpisz http: // Następnie adres IP/nazwa hosta Haproxy Server i Port 8080/Stats:
http: // 192.168.72.157: 8080/statystyki
Lub
http: // haproxy: 8080/statystyki
Pojawi się następujące pole uwierzytelnienia. Wchodzić Nazwa użytkownika I hasło Skonfigurowałeś wcześniej w konfiguracjach, a następnie naciśnij OK.
To jest raport statystyczny dla naszego serwera Haproxy.
Tam masz instalację i konfigurację haproxy obciążenia balansowego w systemie Linux. Właśnie omówiliśmy podstawową konfigurację i konfigurację haproxy jako balansu obciążenia dla serwerów internetowych Apache. Przyjrzeliśmy się również niektórym poleceniom zarządzania serwerem Haproxy. W końcu przetestowaliśmy równoważenie obciążenia przez przeglądarkę i polecenie Curl. Aby uzyskać więcej informacji, odwiedź oficjalną dokumentację Haproxy