NOWOŚĆ! VPS oparty na EPYC + NVMe

Zaloguj się
+1 (855) 311-1555

Jak zrównoważyć obciążenie strony internetowej za pomocą NGINX i hostingu VPS z wieloma lokalizacjami?

5 min czytania - 7 lipca 2025

hero image

Table of contents

  • Jak zrównoważyć obciążenie strony internetowej za pomocą NGINX i VPS z wieloma lokalizacjami
  • Krok 1: Wdrażanie serwerów VPS w różnych regionach
  • Krok 2: Konfiguracja serwera VPS pełniącego rolę load balancera
  • Krok 3: Rozwiązanie pojedynczego punktu awarii
  • Problem
  • Rozwiązania
  • Opcja 1: Wysoka dostępność z pływającym adresem IP
  • Opcja 2: Równoważenie obciążenia na poziomie DNS
  • Opcja 3: Anycast IP (zaawansowany)
  • Krok 4: Kontrola kondycji i logika przełączania awaryjnego
  • Krok 5: Skieruj swoją domenę do load balancera
  • Opcjonalnie: Routing z uwzględnieniem lokalizacji geograficznej
  • \+---------------------+
  • Przemyślenia końcowe

Share

Dystrybucja ruchu w witrynie na serwerach VPS w wielu lokalizacjach przy użyciu NGINX. Dowiedz się, jak skonfigurować równoważenie obciążenia, uniknąć pojedynczych punktów awarii i poprawić wydajność.

Jak zrównoważyć obciążenie strony internetowej za pomocą NGINX i VPS z wieloma lokalizacjami

Równoważenie obciążenia witryny w wielu instancjach VPS w różnych lokalizacjach geograficznych może poprawić wydajność, zmniejszyć opóźnienia i zwiększyć redundancję. Używając NGINX jako odwrotnego serwera proxy, można dystrybuować ruch między serwerami zaplecza, z których każdy hostuje kopię witryny lub aplikacji.

W tym przewodniku przejdziemy przez proces konfiguracji, podkreślimy najlepsze praktyki i zajmiemy się powszechną pułapką wprowadzenia pojedynczego punktu awarii z odwrotnym proxy - wraz z rozwiązaniami łagodzącymi to.


Krok 1: Wdrażanie serwerów VPS w różnych regionach

Zacznij od wdrożenia instancji VPS w wielu lokalizacjach geograficznych, na przykład jednej w Nowym Jorku, jednej we Frankfurcie i jednej w Singapurze. Każdy serwer VPS powinien działać:

  • Kopię witryny lub aplikacji
  • NGINX (jeśli jest również używany jako lokalny serwer WWW)
  • Dostęp SSH do konfiguracji i konserwacji

Upewnij się, że zawartość i konfiguracje są spójne na wszystkich serwerach.


Krok 2: Konfiguracja serwera VPS pełniącego rolę load balancera

Wybierz jeden serwer VPS, który będzie działał jako odwrotny serwer proxy i moduł równoważenia obciążenia, lub utwórz nowy serwer do tego celu. Serwer ten będzie kierował ruch do węzłów VPS zaplecza.

Użyj podstawowej konfiguracji odwrotnego proxy NGINX, która definiuje grupę upstream i proxy żądań przychodzących do węzłów zaplecza.

Oto przykładowa konfiguracja NGINX dla serwera proxy

http { upstream backend_servers { server vps1.example.com; server vps2.example.com; server vps3.example.com; } server { listen 80; location / { proxy_pass http://backend_servers; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } }

Krok 3: Rozwiązanie pojedynczego punktu awarii

Problem

VPS hostujący odwrotne proxy NGINX staje się pojedynczym punktem awarii. Jeśli ten serwer ulegnie awarii, cała witryna staje się niedostępna - nawet jeśli serwery zaplecza nadal działają.

Rozwiązania

Opcja 1: Wysoka dostępność z pływającym adresem IP

Użyj narzędzi takich jak Keepalived lub Pacemaker z VRRP, aby utworzyć pływający adres IP między dwoma lub więcej węzłami NGINX. Jeśli jeden z nich ulegnie awarii, adres IP automatycznie przełączy się na inny.

Opcja 2: Równoważenie obciążenia na poziomie DNS

Uruchom wiele węzłów równoważenia obciążenia NGINX i użyj round-robin DNS lub GeoDNS (np. AWS Route 53, Cloudflare Load Balancing) do dystrybucji ruchu między nimi.

Opcja 3: Anycast IP (zaawansowany)

Reklamowanie tego samego adresu IP z wielu regionów geograficznych przy użyciu BGP i Anycast. Ruch jest automatycznie kierowany do najbliższego węzła na podstawie lokalizacji użytkownika.

Wskazówka: Połączenie routingu geograficznego opartego na DNS z wysoce dostępnymi serwerami proxy NGINX zapewnia najlepszy zasięg i odporność.


Krok 4: Kontrola kondycji i logika przełączania awaryjnego

Chociaż NGINX Open Source nie obsługuje natywnie aktywnych kontroli kondycji, zatrzyma routing do uszkodzonego węzła po błędach połączenia. Dla bardziej zaawansowanego sprawdzania kondycji:

  • Użyj NGINX Plus
  • Lub zbuduj zewnętrzną logikę monitorowania i przełączania awaryjnego za pomocą cron + curl + przeładowania konfiguracji.

Krok 5: Skieruj swoją domenę do load balancera

Zaktualizuj rekordy DNS, aby wskazywały na adres IP odwrotnego serwera proxy NGINX (lub zmienny adres IP w przypadku korzystania z HA). Jeśli korzystasz z wielu serwerów proxy, skonfiguruj swojego dostawcę DNS pod kątem równoważenia obciążenia lub rozpoznawania geograficznego.


Opcjonalnie: Routing z uwzględnieniem lokalizacji geograficznej

Sam NGINX nie obsługuje routingu opartego na geolokalizacji, ale można go sparować z:

  • GeoDNS: Użyj dostawcy DNS, który kieruje użytkowników do najbliższego serwera
  • Anycast IPs: Dystrybucja tego samego adresu IP z wielu centrów danych, umożliwiająca globalną optymalizację routingu.

Żądanie użytkownika | v +---------------------+ | GeoDNS / Load-aware | | Warstwa routingu DNS | +---------------------+ | v +----------------------+ | Regionalne proxy NGINX | | (HA lub Anycast IP) | +----------------------+ | v +---------------------+ | Węzły zaplecza VPS |

+---------------------+

Przemyślenia końcowe

Używanie NGINX do równoważenia obciążenia na wielu serwerach VPS pomaga skalować globalnie i zmniejszać opóźnienia. Ale pamiętaj: odwrotne proxy musi być wysoce dostępne, w przeciwnym razie stanie się obciążeniem.

Aby wyeliminować pojedyncze punkty awarii, należy rozważyć dystrybucję obciążenia opartą na DNS, pływające adresy IP lub sieć Anycast. Dzięki starannemu planowaniu, konfiguracja VPS w wielu lokalizacjach może zapewnić szybką, odporną na błędy wydajność na dużą skalę.

Ten przewodnik jest odpowiedni tylko dla front-endu WWW i nie obejmuje połączeń z bazą danych oraz problemów i rozwiązań związanych z dystrybucją w celu zapewnienia wysokiej dostępności. Omówimy to w późniejszym artykule...

Blog

Polecane w tym tygodniu

Więcej artykułów
server administrator

Jak wybrać odpowiedni poziom RAID dla swojej firmy?

Dla każdej firmy, zarówno małej, średniej, jak i dużej, dane są kluczowym zasobem. Podczas gdy przedsiębiorcy często inwestują w solidne systemy do uruchamiania swoich aplikacji, czasami pomijają wdrażanie odpowiednich środków ochrony danych. Rzeczywistość jest prosta: _utrata danych równa się utracie biznesu_. Jednym ze skutecznych sposobów na zwiększenie ochrony danych i wydajności jest zintegrowanie macierzy RAID z konfiguracją pamięci masowej.

3 min czytania - 7 lipca 2025

Dlaczego ważne jest posiadanie wydajnego i niezmierzonego serwera VPS?

3 min czytania - 7 lipca 2025

Więcej artykułów
background image

Masz pytania lub potrzebujesz niestandardowego rozwiązania?

icon

Elastyczne opcje

icon

Globalny zasięg

icon

Natychmiastowe wdrożenie

icon

Elastyczne opcje

icon

Globalny zasięg

icon

Natychmiastowe wdrożenie