Skontaktuj się z nami

info@serverion.com

Zadzwoń do nas

+1 (302) 380 3902

Konfiguracja NGINX dla DevOps: sztuczka Serverion na wdrożenia bez przestojów

Konfiguracja NGINX dla DevOps: sztuczka Serverion na wdrożenia bez przestojów

Wdrożenia bez przestojów oznacza aktualizację aplikacji bez przerywania usługi – konieczność dla firm, w których nawet krótka przerwa może kosztować miliony. NGINX umożliwia to dzięki swojemu modelowi procesu master-worker i inteligentnym sygnałom, takim jak USR2 (rozpocząć nowe procesy) i HUP (ponowne załadowanie konfiguracji). Oto klucz:

  • Jak to działa:NGINX przenosi ruch ze starych serwerów roboczych do nowszych bez zrywania połączeń.
  • Kluczowe kroki:Użyj sygnałów (USR2, HUPitp.), skonfiguruj nginx.conf prawidłowo i sprawdź poprawność zmian przed ponownym załadowaniem.
  • Techniki:Połącz NGINX z metodami takimi jak wdrożenia blue-green lub Docker, aby zapewnić bezproblemowe aktualizacje.
  • Kontrole stanu zdrowia: Upewnij się, że tylko sprawne serwery obsługują ruch, korzystając z pasywnych lub aktywnych kontroli kondycji NGINX.

Dzięki odpowiedniej konfiguracji możesz zadbać o płynne działanie usług podczas aktualizacji, zabezpieczyć przychody i utrzymać zaufanie klientów.

Podstawy NGINX dla wdrożeń bez przestojów

NGINX

Wyjaśnienie wdrożenia bez przestojów

NGINX używa modelu master-worker do obsługi aktualizacji bez przerywania usługi. Proces master nadzoruje konfigurację i kontrolę, podczas gdy procesy worker zarządzają połączeniami klientów. Ta konfiguracja umożliwia płynne przenoszenie ruchu ze starych pracowników na nowych podczas aktualizacji, zapewniając nieprzerwaną usługę.

Zarządzanie połączeniami NGINX

NGINX wykorzystuje określone sygnały do sterowania procesami podczas aktualizacji lub zmian konfiguracji:

  • USR2:Uruchamia nowe procesy główne i robocze.
  • WCIĄGARKA:Zatrzymuje stare procesy robocze w sposób prawidłowy.
  • HUP: Ponownie ładuje konfigurację i zastępuje pracowników.
  • ZREZYGNOWAĆ:Wyłącza maszynę główną i pracowników z gracją.

Podczas ponownego ładowania NGINX przenosi stary identyfikator procesu głównego do /run/nginx.pid.oldbin, zapisuje nowy identyfikator procesu głównego do /uruchom/nginx.pidi pozwala starszym pracownikom na dokończenie aktywnych żądań przed wyłączeniem.

Nowoczesne wdrożenia aplikacji: Jak używać NGINX i JFrog do…

Żaba

Konfigurowanie NGINX do pracy ciągłej

Aby utrzymać aktywność połączeń podczas przeładowywania, skorzystaj z architektury master-worker serwera NGINX z następującymi ustawieniami.

Kluczowe kroki konfiguracji NGINX

Włączyć coś wielokrotne_akceptowanie aby umożliwić pracownikom obsługę wielu połączeń na wydarzenie. Oto przykładowa konfiguracja dla nginx.conf:

work_processes auto; pid /run/nginx.pid; events { work_connections 1024; multi_accept on; } http { upstream backend { server backend1.example.com:8080; server backend2.example.com:8080; keepalive 32; } server { listen 80; server_name example.com; location / { proxy_pass http://backend; proxy_http_version 1.1; proxy_set_header Połączenie ""; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } } 

Ponowne ładowanie konfiguracji bez przestoju

  1. Aby zastosować zmiany, ponownie załaduj bieżących pracowników:
    nginx -s przeładuj 
  2. Sprawdź zaktualizowany identyfikator procesu głównego:
    kot /run/nginx.pid 
  3. Wykonaj uaktualnienie binarne bez zatrzymywania ruchu:
    kill -USR2 $(cat /run/nginx.pid) kill -WINCH $(cat /run/nginx.pid.oldbin) 

Dzięki tym krokom ruch będzie mógł płynnie przechodzić między starymi i nowymi pracownikami, co zagwarantuje nieprzerwaną usługę.

Metody wdrażania z NGINX

Za pomocą NGINX można realizować wdrożenia bez przestojów, wykorzystując takie techniki, jak konfiguracje blue-green lub podejścia oparte na kontenerach.

Konfiguracja wdrożenia niebiesko-zielonego

Dzięki NGINX możesz zarządzać ruchem między dwoma środowiskami – powszechnie określanymi jako niebieski i zielony. Te środowiska są identyczne, ale tylko jedno jest aktywne w danym momencie. Oto jak to działa:

  • Wdróż zaktualizowaną wersję w nieaktywnym środowisku (np. zielonym).
  • Przeprowadź kontrolę stanu, aby upewnić się, że nowa wersja działa prawidłowo.
  • Po weryfikacji zaktualizuj Konfiguracja NGINX aby skierować ruch do zaktualizowanego środowiska.
  • Załaduj ponownie konfigurację za pomocą HUP sygnał, aby uniknąć zerwania aktywnych połączeń.

Metoda ta gwarantuje płynne przejście bez przerw w świadczeniu usług.

Integracja Docker i NGINX

Używanie Dockera z NGINX usprawnia wdrożenia, utrzymując spójne środowiska zarówno dla warstwy aplikacji, jak i proxy. Oto, jak można osiągnąć aktualizacje bez przestojów:

  • Uruchom nowy kontener obok bieżącego aktywnego.
  • Przeprowadź kontrolę stanu, aby potwierdzić, czy nowy kontener jest gotowy.
  • Zmodyfikuj konfigurację upstream NGINX, aby uwzględnić nowy kontener.
  • Ponownie załaduj konfigurację za pomocą HUP sygnał, pozwalający starszym pracownikom na dokończenie przetwarzania przed wyjściem.

Takie podejście gwarantuje nieprzerwaną usługę podczas aktualizacji aplikacji.

Testowanie i weryfikacja

Konfigurowanie kontroli kondycji

Kontrole kondycji NGINX pomagają zapewnić, że tylko funkcjonalne serwery obsługują ruch. Kontrole te działają obok konfiguracji upstream i routingu blue-green. NGINX oferuje dwa rodzaje kontroli kondycji: pasywny (dostępne w NGINX Open Source) i aktywny (wyłącznie w NGINX Plus).

W przypadku pasywnych kontroli stanu w NGINX Open Source skonfiguruj blok nadrzędny w następujący sposób:

zaplecze nadrzędne { serwer backend1.serverion.com:8080 max_fails=3 fail_timeout=30s; serwer backend2.serverion.com:8080 max_fails=3 fail_timeout=30s; zaplecze strefy 64k; } 

Jeśli używasz NGINX Plus, możesz włączyć aktywne kontrole kondycji, dodając kontrola_stanu dyrektywa wraz z mecz blok:

lokalizacja / { proxy_pass http://backend; interwał kontroli stanu=5s nieudane=3 przebiegi=2 obowiązkowe trwałe; dopasowanie kontroli stanu { status 200; nagłówek Content-Type = application/json; treść ~ '"status":"UP"'; } } 

Przed ponownym załadowaniem NGINX należy sprawdzić poprawność tych konfiguracji.

Sprawdź konfigurację

Zawsze testuj poprawność konfiguracji NGINX przed ponownym załadowaniem. Użyj następującego polecenia:

nginx -t -c /ścieżka/do/twojego/pliku/nginx.conf 

Podstawy wdrażania bez przestojów

Osiągnięcie wdrożeń bez przestojów zależy od starannej konfiguracji NGINX i solidnego planowania infrastruktury. Elementy te współpracują ze sobą, aby zapewnić, że aktualizacje będą się odbywać bez zakłóceń.

Oto kluczowe czynniki sukcesu:

  • Kontrola procesu i walidacja konfiguracji: Wykorzystaj w pełni architekturę NGINX, jednocześnie przestrzegając dokładnych protokołów testowych.
  • Stabilność infrastruktury:Utrzymuj spójną wydajność i dbaj o bezpieczeństwo w całym procesie wdrażania.

Aby uzyskać szczegółowe informacje na temat kontroli stanu zdrowia i kroków wycofywania, zapoznaj się z dokumentem Testowanie i weryfikacja sekcja.

ServerionPlatforma wspiera te wysiłki niezawodną stabilnością i bezpieczeństwem. Jej globalne centra danych Utrzymuj stałą wydajność podczas aktualizacji, a wbudowana ochrona DDoS gwarantuje nienaruszone bezpieczeństwo.

Zacznij od małych rzeczy, używając przełączników funkcji w usługach niekrytycznych. Stopniowo zwiększaj skalę, utrzymując regularne testowanie, ścisłe monitorowanie i jasne plany wycofania w centrum swojej strategii.

Powiązane wpisy na blogu

pl_PL