Jak skonfigurować load balancing dla aplikacji webowej z Nginx

Na czym polega load balancing
rozdzielanie ruchu przychodzącego na wiele serwerów aplikacyjnych
zapewnienie wysokiej dostępności - awaria jednego serwera nie zatrzymuje aplikacji
zwiększenie wydajności - kilka serwerów obsługuje więcej użytkowników
elastyczność - łatwe dodawanie lub usuwanie instancji
Podstawowa konfiguracja w Nginx
Load balancing w Nginx opiera się na sekcji upstream. Definiujemy w niej listę serwerów backendowych, a następnie kierujemy do nich ruch z bloku server.
http {
upstream backend {
server 192.168.1.101;
server 192.168.1.102;
server 192.168.1.103;
}
server {
listen 80;
location / {
proxy_pass http://backend;
}
}
}
Algorytmy load balancing w Nginx
Domyślnie Nginx stosuje round-robin (kolejne żądania do kolejnych serwerów). Można też użyć innych metod:
least_conn - kieruje żądanie do serwera z najmniejszą liczbą aktywnych połączeń
ip_hash - użytkownicy trafiają zawsze na ten sam serwer (przydatne przy sesjach)
weight - możliwość ustawienia wag, czyli serwer o większej mocy obsłuży więcej żądań
Przykład z wagami:
upstream backend {
server 192.168.1.101 weight=3;
server 192.168.1.102 weight=1;
}
Obsługa awarii serwerów backend
Nginx potrafi automatycznie wykrywać niedostępne serwery i kierować ruch tylko na działające.
upstream backend {
server 192.168.1.101 max_fails=3 fail_timeout=30s;
server 192.168.1.102;
}
Sticky sessions (utrzymanie sesji użytkownika)
Niektóre aplikacje wymagają, aby użytkownik zawsze trafiał na ten sam backend (np. sesje w pamięci). Wtedy przydatny jest ip_hash.
upstream backend {
ip_hash;
server 192.168.1.101;
server 192.168.1.102;
}
SSL termination i proxy_pass
Nginx może także zakończyć połączenie SSL i przekazać ruch do backendów jako HTTP.
server {
listen 443 ssl;
ssl_certificate /etc/ssl/certs/server.crt;
ssl_certificate_key /etc/ssl/private/server.key;
location / {
proxy_pass http://backend;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Podsumowanie
Nginx jako load balancer to proste i skuteczne rozwiązanie, które zwiększa wydajność i dostępność aplikacji. Dzięki algorytmom równoważenia, obsłudze awarii i wsparciu dla SSL, może być centralnym punktem infrastruktury webowej. Wdrożenie Nginx jako load balancera to jeden z kluczowych kroków przy skalowaniu serwisów.
Jeśli chcesz wdrożyć load balancing w swojej aplikacji webowej i zapewnić jej stabilność przy dużym ruchu, skontaktuj się z nami. Pomożemy w konfiguracji i doborze najlepszego rozwiązania.

Optymalizacja serwerów WWW - fundament wydajności i stabilności biznesu online
Wydajność serwera WWW to jeden z najważniejszych czynników determinujących sukces w biznesie online. Szybkość działania stron...
Zobacz więcej
PHP Opcache - jak działa i jak go poprawnie skonfigurować
Każde uruchomienie skryptu PHP wiąże się z parsowaniem kodu i kompilacją do kodu pośredniego (opcode), zanim zostanie on wykonany przez...
Zobacz więcej
RAID w praktyce - który poziom wybrać dla serwera produkcyjnego
RAID (Redundant Array of Independent Disks) to technologia łącząca kilka dysków w jedną logiczną jednostkę w celu zwiększenia wydajności...
Zobacz więcej
Bezpieczeństwo serwerów - jak chronić się przed atakami DDoS i włamaniami?
Stabilność i bezpieczeństwo serwerów to fundament działania każdej firmy w erze cyfrowej. Coraz częściej przedsiębiorstwa stają się celem...
Zobacz więcej
Redis vs Memcached - które rozwiązanie cache wybrać dla aplikacji webowe
Cache to jeden z najprostszych i najskuteczniejszych sposobów na przyspieszenie aplikacji webowych. Dzięki niemu dane są przechowywane w...
Zobacz więcejTutaj znajdziesz odpowiedzi na najważniejsze pytania dotyczące naszych usług i wsparcia.
FAQ
Jakie usługi administracji serwerami oferujecie?
Świadczymy kompleksową obsługę - od konfiguracji i monitoringu, przez optymalizację wydajności, aż po pełne wsparcie techniczne 24/7.
Czy zajmujecie się migracją danych i systemów?
Tak, wykonujemy bezpieczne migracje plików, baz danych i aplikacji - bez przestojów i bez dodatkowych kosztów.
Czym różni się serwer dedykowany od VPS?
Serwer dedykowany to pełna maszyna tylko dla Ciebie, a VPS to jej podział na wirtualne środowiska - tańsze, ale współdzielone.
Czy mogę liczyć na pomoc przy awarii?
Tak, monitorujemy serwery całodobowo i natychmiast reagujemy w przypadku awarii, minimalizując ryzyko przestoju.
Czy Wasze rozwiązania są skalowalne?
Oferujemy infrastrukturę, która rośnie razem z Twoim biznesem - łatwo zwiększysz zasoby wtedy, gdy tego potrzebujesz.
Czy oferujecie wsparcie przy budowie infrastruktury?
Tak, projektujemy i wdrażamy środowiska IT dopasowane do potrzeb – od małych firm po duże, złożone systemy.
Jak zabezpieczacie serwery przed atakami i utratą danych?
Stosujemy firewalle, systemy anty-DDoS, regularne backupy i aktualizacje, aby zapewnić maksymalne bezpieczeństwo.
Jakie gwarancje SLA zapewniacie?
Oferujemy SLA na poziomie 99.99% dostępności, co oznacza niezawodne działanie infrastruktury i szybki czas reakcji przy ewentualnych problemach.
Chcesz dowiedzieć się więcej o naszej ofercie?
Wyślij zapytanie