Jak zainstalować i skonfigurować Haproxy w Ubuntu Top 10.10 najlepszych LTS

Jak zainstalować i skonfigurować Haproxy w Ubuntu Top 10.10 najlepszych LTS
Haproxy to pakiet open source i lekki, który oferuje wysoką dostępność i równoważenie obciążenia dla programów opartych na TCP i HTTP. Rozkłada obciążenie między serwerami sieci i aplikacji. Haproxy jest dostępny dla prawie wszystkich rozkładów Linux. Jest to powszechnie używany balanser obciążenia, który jest popularny ze względu na jego wydajność, niezawodność i niską pamięć i ślad procesora. W tym poście wyjaśnimy, jak zainstalować i skonfigurować Haproxy w systemie Ubuntu.

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.

1. Skonfiguruj plik hostów

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.

1. Skonfiguruj plik hostów

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

2. Zainstaluj Apache Webserver

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