Jak skonfigurować równoważenie haproxy obciążenia na Ubuntu 18.04 i 16.04

Jak skonfigurować równoważenie haproxy obciążenia na Ubuntu 18.04 i 16.04

Haproxy jest bardzo szybkim i niezawodnym rozwiązaniem dla wysokiej dostępności, równoważenia obciążenia, obsługuje aplikacje oparte na TCP i HTTP. Obecnie maksymalizacja stron internetowych jest bardzo ważna dla stron internetowych o dużym natężeniu ruchu. Nie jest to możliwe w przypadku konfiguracji jednego serwera. Następnie potrzebujemy środowiska o wysokiej dostępności, które może łatwo zarządzać z awarią pojedynczego serwera.

Ten artykuł pomoże Ci skonfigurować środowisko równoważenia obciążenia haproxy na Ubuntu, Debian i LinuxMint. To skonfiguruje Balansowanie obciążenia warstwy 4 (Warstwa transportowa). Które zrównoważy żądania ładowania i przesyłania do różnych 2 serwerów na podstawie adresu IP i numerów portów.

Szczegóły sieci -

Poniżej znajduje się nasz serwer sieciowy. Istnieje 3 serwery internetowe z Apache2 i słuchanie na porcie 80 i jeden serwer Haproxy.

Szczegóły serwera WWW: Serwer 1: Web1.przykład.com 192.168.1.101 Server 2: Web2.przykład.com 192.168.1.102 Server 3: Web3.przykład.com 192.168.1.103 Serwer Haproxy:  Haproxy: Haproxy 192.168.1.12 

Krok 1 - Zainstaluj Haproxy

Teraz rozpocznij konfigurację. SSH do twojego serwera Haproxy jako uprzywilejowany użytkownik i zainstaluj haproxy za pomocą następujących poleceń.

sudo add-apt-repozytory PPA: vbernat/haproxy-1.8 sudo apt-get aktualizacja sudo apt-get instal haproxy 

Krok 2 - Skonfiguruj równoważenie obciążenia haproxy

Teraz edytuj domyślny plik konfiguracyjny Haproxy /etc/haproxy/haproxy.CFG i rozpocząć konfigurację.

sudo vi/etc/haproxy/haproxy.CFG 

Ustawienia domyślne:

Poniżej znajdziesz domyślną konfigurację, jak poniżej. Jeśli nie masz wystarczająco dużo pojęcia, możesz zachować taką, jaka.

Global Log/Dev/Log Local0 Log/Dev/Log Local1.Tryb SOCK 660 Poziom administraty czasowy limit czasu 30s użytkownik Haproxy Group Haproxy Daemon # Domyślne lokalizacje materiałów SSL Lokalizacje materiałów Ca-baza/etc/ssl/cert Crt-base/etc/ssl/private # domyślne szyfry do użycia na zasłaniach słuchowych z obsługą SSL z obsługą SSL. # Aby uzyskać więcej informacji, patrz szyfry (1SSL). Ta lista pochodzi z: # https: // hynek.ME/Artykuły/Stwardnienie--WEB-SERVERS-SSL-CIPHERS/SSL-Default-Bind-Ciphers ECDH+AESGCM: DH+AESGCM: ECDH+AES256 :: RSA+AES: RSA+3DES:!anull:!MD5:!DSS SSL-Default-Bind-Options NO-SSLV3 Domyślne dziennik tryb globalny HTTP Opcja HTTPLOG Opcja Dontlognull Timeout Connect 5000 CIMEOUT Klient 50000 Serwer 50000 Błąd 400/etc/haproxy/błędy/400.HTTP Błąd File 403/etc/haproxy/błędy/403.HTTP Błąd File 408/etc/haproxy/błędy/408.HTTP Błąd plik 500/etc/haproxy/błędy/500.HTTP Błąd Plik 502/etc/haproxy/błędy/502.HTTP Błąd Plik 503/etc/haproxy/błędy/503.HTTP Błąd Plik 504/etc/haproxy/błędy/504.http 

Dodanie słuchacza Haproxy:

Teraz powiedz Haproxy, gdzie słuchać nowych połączeń. Zgodnie z poniższymi konfiguracjami Haproxy wyświetli listę na porcie 80 z 192.168.1.12 Adres IP.

Frontend Local_Server Bind 192.168.1.12:80 Tryb http default_backend my_web_servers 

Dodaj serwery Web Backend:

Zgodnie z powyższą konfiguracją Haproxy słucha teraz na porcie 80. Teraz zdefiniuj serwery Web Backend, w których Haproxy wysyła żądanie.

Węzły zaplecza Tryb Balance HTTP Opcja obrońca do przodu dla HTTP-Odporuj Header X-Forward-Port %[DST_PORT] HTTP-Request Add-Header X-Forward-Proto HTTPS IF SSL_FC HTTPCHK HEAD / HTTP / 1.1RNHOST: LocalHost Server Web1.przykład.com 192.168.1.101: 80 serwer Web2.przykład.com 192.168.1.102: 80 serwer Web3.przykład.com 192.168.1.103: 80 

Włącz statystyki (opcjonalnie)

Teraz, jeśli chcesz, możesz włączyć statystyki Haproxy, dodając następującą konfigurację w pliku konfiguracyjnym Haproxy.

Słuchaj statystyk *: 1936 Statystyki Włącz statystyki Ukryj statystyki Odśwież 30S Statysty 

Krok 3 - Ostateczny plik konfiguracyjny Haproxy

Ostateczny plik konfiguracyjny może wyglądać poniżej:

Global Log/Dev/Log Local0 Log/Dev/Log Local1.Tryb SOCK 660 Poziom administraty czasowy limit czasu 30s użytkownik Haproxy Group Haproxy Daemon # Domyślne lokalizacje materiałów SSL Lokalizacje materiałów Ca-baza/etc/ssl/cert Crt-base/etc/ssl/private # domyślne szyfry do użycia na zasłaniach słuchowych z obsługą SSL z obsługą SSL. # Aby uzyskać więcej informacji, patrz szyfry (1SSL). Ta lista pochodzi z: # https: // hynek.ME/Artykuły/Stwardnienie--WEB-SERVERS-SSL-CIPHERS/SSL-Default-Bind-Ciphers ECDH+AESGCM: DH+AESGCM: ECDH+AES256 :: RSA+AES: RSA+3DES:!anull:!MD5:!DSS SSL-Default-Bind-Options NO-SSLV3 Domyślne dziennik tryb globalny HTTP Opcja HTTPLOG Opcja Dontlognull Timeout Connect 5000 CIMEOUT Klient 50000 Serwer 50000 Błąd 400/etc/haproxy/błędy/400.HTTP Błąd File 403/etc/haproxy/błędy/403.HTTP Błąd File 408/etc/haproxy/błędy/408.HTTP Błąd plik 500/etc/haproxy/błędy/500.HTTP Błąd Plik 502/etc/haproxy/błędy/502.HTTP Błąd Plik 503/etc/haproxy/błędy/503.HTTP Błąd Plik 504/etc/haproxy/błędy/504.HTTP Frontend Local_Server Bind 192.168.1.12:80 Tryb HTTP DEFAULT_BACKEND MY_WEB_SERVERS BORAND MY_WEB_SERVERS TRYB HTTP Balance ROUNDROBIN OPCJA ODPOWIEDZI DO HTTP-REQUEST OF IF IF SSL_FC Opcja Httpchk. HTTP/1.1RNHOST: LocalHost Server Web1.przykład.com 192.168.1.101: 80 serwer Web2.przykład.com 192.168.1.102: 80 serwer Web3.przykład.com 192.168.1.103: 80 Słuchaj Statystyki *: 1936 Statystyki Włącz statystyki Ukryj statystyki Odśwież 30S Statysty 

Krok 4 - Ponowne uruchom haproxy

Teraz dokonałeś wszystkich niezbędnych zmian na swoim serwerze Haproxy. Teraz zweryfikuj plik konfiguracyjny przed ponownym uruchomieniem usługi za pomocą następującego polecenia.

haproxy -c -f/etc/haproxy/haproxy.CFG 

Jeśli powyższe polecenie zwróciło dane wyjściowe jako plik konfiguracyjny jest prawidłowy, to ponownie uruchom usług Haproxy

Sudo Service Haproxy restart 

Krok 5 - Sprawdź ustawienie Haproxy

Na tym etapie mamy pełną funkcjonalną konfigurację haproxy. W każdym węźle serwera WWW mam indeks demo.Strona HTML pokazująca nazwę hosta serwerów, abyśmy mogli łatwo odróżnić strony serwerów.

Teraz dostęp do portu 80 na IP 192.168.1.12 (jak skonfigurowane powyżej) w przeglądarce internetowej i naciśnij odśwież. Zobaczysz, że Haproxy wysyła prośby do serwerów backend jeden po drugim (zgodnie z algorytmem okrągłego-robin).

Z każdym odświeżeniem możesz, aby Haproxy wysyła żądanie jeden po drugim na serwer zaplecza.

Odniesienie: http: // www.Haproxy.org/pobierz/1.5/Doc/Configuration.tekst