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.), konfigurovatnginx.confsprá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ů

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…

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
- Chcete-li použít změny, znovu načtěte aktuální pracovníky:
znovu načíst nginx -s - Zkontrolujte aktualizované ID hlavního procesu:
cat /run/nginx.pid - 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.
sbb-itb-59e1987
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í
HUPsigná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í
HUPsigná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í.