Haproxy jest używany przez popularne miejsca, takie jak Tumblr, Github i Stackoverflow. W tym przewodniku przeprowadzimy Cię przez instalację haproxy w konfiguracji serwisów internetowych, które są zasilane za pomocą Nginx.
Konfiguracja laboratoryjna
3 wystąpienia serwerów Centos 7, jak pokazano
Adresy IP nazwy hostaKrok 1: Edytuj plik /etc /hosts dla równoważenia obciążenia
Aby rozpocząć, zaloguj się do systemu modułu równoważenia obciążenia i zmodyfikuj plik /etc /hosts, aby zawierać nazwy hosta i adresy IP dwóch serwerów Web, jak pokazano
$ vim /etc /hosts
3.19.229.234 Server_01
3.17.9.217 Server-02
Po zakończeniu zapisz zmiany i wyjdź z pliku konfiguracyjnego.
Teraz udaj się do każdego z serwerów internetowych i zaktualizuj /etc/hosts Plik z adresem IP i nazwa hosta balansu obciążenia
3.17.12.132 Balancer obciążenia
Następnie potwierdź, że możesz pingować równoważenie obciążenia z server_01
I podobnie z serwera_02
Upewnij się również, że możesz pingować serwery z równoważenia obciążenia.
Doskonały ! Wszystkie serwery mogą komunikować się z balansem obciążeniowym!
Krok 2: Zainstaluj i skonfiguruj proxy HA na balansie obciążenia
Ponieważ proxy HA jest łatwo dostępny w oficjalnym repozytorium Centos, zainstalujemy go za pomocą menedżera pakietu Yum lub DNF.
Ale jak zawsze najpierw zaktualizuj system
# Aktualizacja Yum
Następnie zainstaluj proxy HA, jak pokazano
# mniam instalacja haproxy
Po udanej instalacji przejdź do katalogu Haproxy.
# cd /etc /haproxy
Najlepsze praktyki wymaga od nas kopii zapasowej dowolnego pliku konfiguracyjnego przed dokonaniem jakichkolwiek modyfikacji. Więc wykonaj kopię zapasową Haproxy.CFG plik poprzez zmianę nazwy.
# mv haproxy.CFG Haproxy.CFG.Bak
Następnie kontynuuj i otwórz plik konfiguracyjny
Vim Haproxy.CFG
Upewnij się, że dokonasz modyfikacji, jak pokazano
#---------------------------------------------------------------------
# Ustawienia ogólne
#---------------------------------------------------------------------
światowy
Log 127.0.0.1 konfiguracja Local2 #log
chroot/var/lib/haproxy
Pidfile/var/run/haproxy.pid
Maxconn 4000
Użytkownik Haproxy #Haproxy działający pod użytkownikiem i grupą „Haproxy”
Grupa Haproxy
Demon
# Włącz STATS UNIX SNECKET
Stats Socket/var/lib/haproxy/stats
#---------------------------------------------------------------------
# Wspólne wartości domyślne, że wszystkie sekcje „słuchaj” i „backend” będą
# Użyj, jeśli nie zostanie wyznaczony w swoim bloku
#---------------------------------------------------------------------
domyślne
Tryb http
Log global
opcja httplog
opcja Don'tlognull
Opcja HTTP-SERVER-CLOSE
opcja do przodu na z wyjątkiem 127.0.0.0/8
opcja redispatch
PONOWNIE 3
Limit czasu HTTP-REQUEST 10S
Kolejka czasu 1m
Limit czasu Połącz 10s
Limit czasu klienta 1M
Serwer limitu czasu 1M
Limit czasu http-keep-alive 10s
Sprawdź limit czasu 10s
Maxconn 3000
#---------------------------------------------------------------------
#Haproxy Monitoring Config
#---------------------------------------------------------------------
Słuchaj haproxy3-monitoringu *: 8080 #haproxy Monitorowanie na porcie 8080
Tryb http
opcja do przodu
Opcja httpclose
Statystyki umożliwiają
Statystyki pokazowe
Statystyki odświeżnia 5s
statystyki URI /statystyki #URL do monitorowania haproxy
Stats Realm Haproxy \ Statistics
Stats Auth Hassel
Administrator statystyk, jeśli prawda
Default_backend App-Main #jest opcjonalnie do monitorowania zaplecza
#---------------------------------------------------------------------
# Konfiguracja frontendowa
#---------------------------------------------------------------------
Frontend Main
Bind *: 80
Opcja HTTP-SERVER-CLOSE
opcja do przodu
Default_backend App-Main
#---------------------------------------------------------------------
# Backend Round Robin jako algorytm bilansu
#---------------------------------------------------------------------
Aplikacja Backend
Algorytm bilansu Roundrobin #Balance
Opcja httpchk głowa / http / 1.1 \ r \ nhost: \ localhost
#Sprawdź aplikację serwera jest gotowa i wyczerpuje się - 200 kod stanu
Server Server_01 3.19.229.234: 80 Sprawdź #nginx1
Server Server_02 3.17.9.217: 80 Sprawdź #nginx2
Pamiętaj o zmodyfikowaniu nazwy hosta i adresów IP serwerów Web, jak wskazano w dwóch ostatnich wierszach. Zapisz zmiany i wyjdź.
Następnym krokiem będzie skonfigurowanie RSYSLOG, aby móc rejestrować statystyki Haproxy.
# vim /etc /rsyslog.conf
Upewnij się, że porzucisz poniższe wiersze, aby umożliwić połączenia UDP
$ Modload imudp
$ Udpserverrun 514
Następnie kontynuuj i utwórz nowy plik konfiguracyjny Haproxy.conf
# vim /etc /rsyslog.D/Haproxy.conf
Wklej następujące wiersze, zapisz i wyjdź
Local2.= info/var/log/haproxy-access.Zaloguj się #dla dziennika dostępu
Local2.zawiadomienie/var/log/haproxy-info.Log #For Informacje o usłudze - Backend, LoadBalancer
Aby zmiany w obowiązywaniu ponownie uruchom demona RSYSLOG, jak pokazano:
# Systemctl restart rsyslog
Następnie rozpocznij i włącz Haproxy
# Systemctl start rsyslog
# SystemCtl Włącz RSYSLOG
Sprawdź, czy Haproxy działa
# Status SystemCtl RSYSLOG
Krok 3: Zainstaluj i skonfiguruj Nginx
Teraz jedyną pozostałą częścią jest instalacja Nginx. Zaloguj się do każdego z serwerów i najpierw zaktualizuj pakiety systemowe:
# Aktualizacja Yum
Następnie zainstaluj EPEL (dodatkowe pakiety dla Enterprise Linux)
# mniam instaluj epel-uwalnianie
Aby zainstalować Nginx, uruchom polecenie:
# mniam instaluj nginx
Następnie uruchom i włącz Nginx
# Systemctl start nginx
# Systemctl Włącz Nginx
Następnie zamierzamy zmodyfikować indeks.plik HTML w obu przypadkach w celu zademonstrowania lub symulacji, w jaki sposób równowaga obciążenia jest w stanie rozpowszechniać ruch internetowy na obu serwerach.
Dla serwera_01
# echo "Server_01. Hej ! Witamy w pierwszym serwerze WWW "> indeks.html
Dla serwera_02
# echo "Server_02. Hej ! Witamy w drugim serwerze WWW "> indeks.html
Aby zmiany zostały dokonane, ponownie uruchom nginx
# Systemctl restart nginx
Krok 4: Testowanie, jeśli działa równowaga obciążenia
W końcu jesteśmy w punkcie, w którym chcemy sprawdzić, czy konfiguracja działa. Więc zaloguj się do równoważenia obciążenia i wykonaj polecenie Curl wielokrotnie
# curl 3.17.12.132
Powinieneś uzyskać naprzemienne dane wyjściowe na terminalu pokazującym wartość indeksu.HTML z Server_01 i Server_02
Teraz przetestujmy za pomocą przeglądarki internetowej. Przejrzyj adres IP swojego modułu równoważenia obciążenia
http: // loadbalancer-ip-address
Pierwsza strona wyświetli treść z dowolnego z serwerów Web
Teraz odśwież stronę internetową i sprawdź, czy wyświetla treść z drugiego serwera WWW
Doskonały ! Bilans obciążenia rozkłada ruch IP w równym stopniu między dwoma serwerami internetowymi !
To kończy ten samouczek na temat tego, jak możesz zainstalować, a także skonfigurować haproxy na Centos 8. Twoja opinia będzie bardzo mile widziana.