Kontaktujte nás

info@serverion.com

Zavolejte nám

+1 (302) 380 3902

NGINX Config pro DevOps: Serverionův trik k nasazení bez výpadků

NGINX Config pro DevOps: Serverionův trik k nasazení bez výpadků

Nasazení s nulovými prostoji znamená aktualizaci vaší aplikace bez přerušení služby – nutnost pro podniky, kde i krátký výpadek může stát miliony. NGINX to umožňuje pomocí svého modelu procesu master-worker a inteligentních signálů USR2 (spustit nové procesy) a HUP (znovu načíst konfiguraci). Zde je klíč:

  • Jak to funguje: NGINX přesouvá provoz ze starých pracovníků na aktualizované, aniž by přerušil připojení.
  • Klíčové kroky: Použijte signály (USR2, HUP, atd.), konfigurovat nginx.conf správně a před opětovným načtením ověřte změny.
  • Techniky: Zkombinujte NGINX s metodami, jako je modro-zelená nasazení nebo Docker pro bezproblémové aktualizace.
  • Zdravotní prohlídky: Zajistěte, aby provoz zpracovávaly pouze zdravé servery pomocí pasivních nebo aktivních kontrol stavu NGINX.

Se správnou konfigurací můžete udržovat své služby během aktualizací hladce, chránit příjmy a udržovat důvěru zákazníků.

Základy NGINX pro nasazení bez výpadků

NGINX

Vysvětlení nasazení nulových prostojů

NGINX používá model master-worker pro zpracování aktualizací bez přerušení služby. Hlavní proces dohlíží na konfiguraci a řízení, zatímco pracovní procesy řídí připojení klientů. Toto nastavení umožňuje během aktualizací plynule přesunout provoz ze starých pracovníků na nové a zajistit tak nepřetržitou službu.

Správa připojení NGINX

NGINX spoléhá na specifické signály pro řízení procesů během upgradů nebo změn konfigurace:

  • USR2: Spouští nové hlavní a pracovní procesy.
  • NAVIJÁK: Elegantně zastaví staré pracovní procesy.
  • HUP: Znovu načte konfiguraci a nahradí pracovníky.
  • PŘESTAT: Půvabně vypne mistra a dělníky.

Při opětovném načítání NGINX přesune ID starého hlavního procesu do /run/nginx.pid.oldbin, zapíše ID nového hlavního procesu do /run/nginx.pida umožňuje starým pracovníkům dokončit aktivní požadavky před vypnutím.

Moderní nasazení aplikací: Jak používat NGINX a JFrog k…

JFrog

Nastavení NGINX pro nepřetržitý provoz

Chcete-li zachovat připojení aktivní během načítání, využijte architekturu NGINX master-worker s následujícím nastavením.

Klíčové kroky konfigurace NGINX

Zapnout multi_accept aby pracovníci mohli zvládnout více připojení na událost. Zde je příklad konfigurace pro nginx.conf:

worker_processes auto; pid /run/nginx.pid; události { worker_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; umístění / { proxy_pass http://backend; proxy_http_version 1.1; proxy_set_header Připojení ""; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } } 

Opětovné načtení konfigurace bez výpadku

  1. Chcete-li použít změny, znovu načtěte aktuální pracovníky:
    znovu načíst nginx -s 
  2. Zkontrolujte aktualizované ID hlavního procesu:
    cat /run/nginx.pid 
  3. Proveďte binární upgrade bez zastavení provozu:
    kill -USR2 $(cat /run/nginx.pid) kill -WINCH $(cat /run/nginx.pid.oldbin) 

Tyto kroky umožňují plynulý přechod dopravy mezi starými a novými pracovníky a zajišťují nepřerušovanou službu.

Metody nasazení s NGINX

NGINX můžete použít k dosažení nasazení s nulovými prostoji využitím technik, jako jsou modro-zelená nastavení nebo přístupy založené na kontejnerech.

Modro-zelené nastavení nasazení

S NGINX můžete řídit provoz mezi dvěma prostředími – běžně označovanými jako modrý a zelený. Tato prostředí jsou identická, ale v jednu chvíli je aktivní pouze jedno. Funguje to takto:

  • Nasaďte aktualizovanou verzi do neaktivního prostředí (např. zelené).
  • Spusťte kontroly stavu, abyste se ujistili, že nová verze funguje správně.
  • Po ověření aktualizujte Konfigurace NGINX směrovat provoz do aktualizovaného prostředí.
  • Znovu načtěte konfiguraci pomocí HUP signál, aby nedošlo k přerušení aktivních spojení.

Tato metoda zajišťuje hladký přechod bez přerušení služeb.

Integrace dockeru a NGINX

Používání Dockeru s NGINX zefektivňuje nasazení tím, že udržuje konzistentní prostředí pro vaše aplikační i proxy vrstvy. Zde je návod, jak můžete dosáhnout aktualizací s nulovými prostoji:

  • Spusťte nový kontejner vedle aktuálního aktivního kontejneru.
  • Proveďte kontroly stavu, abyste potvrdili, že je nový kontejner připraven.
  • Upravte upstream konfiguraci NGINX tak, aby zahrnovala nový kontejner.
  • Znovu načtěte konfiguraci pomocí HUP signál, který umožňuje starým pracovníkům dokončit zpracování před odchodem.

Tento přístup zajišťuje nepřetržitý servis při aktualizaci vaší aplikace.

Testování a ověřování

Nakonfigurujte kontroly stavu

Kontroly stavu NGINX pomáhají zajistit, že provoz zpracovávají pouze funkční servery. Tyto kontroly fungují spolu s konfigurací proti proudu a modrozeleným směrováním. NGINX nabízí dva typy zdravotních kontrol: pasivní (k dispozici v NGINX Open Source) a aktivní (exkluzivně pro NGINX Plus).

Pro pasivní kontroly stavu v NGINX Open Source nastavte svůj upstream blok takto:

upstreamový backend { server backend1.serverion.com:8080 max_fails=3 fail_timeout=30s; server backend2.serverion.com:8080 max_fails=3 fail_timeout=30s; zónový backend 64k; } 

Pokud používáte NGINX Plus, můžete aktivovat aktivní kontroly stavu přidáním zdravotní_kontrola směrnice spolu s a zápas blok:

umístění / { proxy_pass http://backend; interval kontroly stavu = 5 s fails = 3 pass = 2 povinné persistentní; shoda kontroly stavu { status 200; hlavička Content-Type = application/json; tělo ~ '"status":"NAHORU"'; } } 

Před opětovným načtením NGINX nezapomeňte tyto konfigurace ověřit.

Ověřit konfiguraci

Před opětovným načtením vždy otestujte správnost konfigurace NGINX. Použijte následující příkaz:

nginx -t -c /cesta/k/vašemu/nginx.conf 

Základy nasazení s nulovým výpadkem

Dosažení nasazení s nulovými prostoji závisí na pečlivé konfiguraci NGINX a solidním plánování infrastruktury. Tyto prvky spolupracují, aby zajistily, že aktualizace budou probíhat bez přerušení.

Zde jsou klíčové faktory úspěchu:

  • Řízení procesu a ověřování konfigurace: Využijte naplno architekturu NGINX a zároveň se držte důkladných testovacích protokolů.
  • Stabilita infrastruktury: Udržujte konzistentní výkon a udržujte přísné zabezpečení během procesu nasazení.

Podrobnosti o zdravotních kontrolách a krocích vrácení zpět naleznete na Testování a ověřování sekce.

ServerionPlatforma 's podporuje tyto snahy spolehlivou stabilitou a bezpečností. Jeho globálních datových center udržujte stabilní výkon během aktualizací a vestavěná ochrana DDoS zajišťuje, že zabezpečení zůstane nedotčeno.

Začněte v malém pomocí přepínačů funkcí u nekritických služeb. Postupně se škálujte, přičemž v centru vaší strategie dodržujte pravidelné testování, pečlivé sledování a jasné plány vrácení.

Související příspěvky na blogu

cs_CZ