Jak skonfigurować równoważenie haproxy obciążenia na Ubuntu 18.04 i 16.04
- 1761
- 139
- Pani Janina Cieśla
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
- « Jak zainstalować lampę (php 5.5, Apache 2.4 i Mysql 5.5) na Ubuntu 14.04 (zaufany Tahr)
- Jak utworzyć gałąź w zdalnym repozytorium GIT »