Lépjen kapcsolatba velünk

info@serverion.com

Hívjon minket

+1 (302) 380 3902

NGINX Config for DevOps: A szerver trükkje a leállás nélküli telepítésekhez

NGINX Config for DevOps: A szerver trükkje a leállás nélküli telepítésekhez

Leállás nélküli telepítések azt jelenti, hogy a szolgáltatás megszakítása nélkül frissíti az alkalmazást – ez kötelező olyan vállalkozások számára, ahol még egy rövid üzemszünet is milliókba kerülhet. Az NGINX ezt lehetővé teszi a master-worker folyamatmodell és az olyan intelligens jelek segítségével, mint pl USR2 (új folyamatok indítása) és HUP (konfiguráció újratöltése). Íme a kulcs:

  • Hogyan működik: Az NGINX a kapcsolatok megszakítása nélkül áthelyezi a forgalmat a régi dolgozókról a frissítettekre.
  • Kulcs lépések: Használjon jeleket (USR2, HUPstb.), konfigurálja nginx.conf megfelelően, és érvényesítse a változtatásokat az újratöltés előtt.
  • Technikák: Kombinálja az NGINX-et olyan módszerekkel, mint a kék-zöld telepítés vagy a Docker a zökkenőmentes frissítés érdekében.
  • Egészségügyi vizsgálatok: Győződjön meg arról, hogy csak egészséges szerverek kezelik a forgalmat, az NGINX passzív vagy aktív állapotellenőrzésével.

A megfelelő konfigurációval zökkenőmentesen futhat szolgáltatásai a frissítések során, megóvhatja a bevételeket, és megőrizheti az ügyfelek bizalmát.

NGINX alapok a nulla leállási idejű telepítésekhez

nginx

Zero-Downtime Deployment magyarázata

Az NGINX master-worker modellt használ a frissítések kezeléséhez a szolgáltatás megszakítása nélkül. A fő folyamat felügyeli a konfigurációt és a vezérlést, míg a dolgozói folyamatok kezelik az ügyfélkapcsolatokat. Ez a beállítás lehetővé teszi a forgalom zökkenőmentes átváltását a régi dolgozókról az újakra a frissítések során, biztosítva a megszakítás nélküli szolgáltatást.

NGINX kapcsolatkezelés

Az NGINX speciális jelekre támaszkodik a folyamatok vezérléséhez a frissítések vagy konfigurációs változások során:

  • USR2: Új mester és dolgozó folyamatokat indít el.
  • CSÖRLŐ: A régi munkás folyamatokat kecsesen leállítja.
  • HUP: Újratölti a konfigurációt és lecseréli a dolgozókat.
  • KILÉPNI: Kecsesen lekapcsolja a mestert és a munkásokat.

Újratöltéskor az NGINX áthelyezi a régi fő folyamatazonosítót ide /run/nginx.pid.oldbin, kiírja az új főfolyamat-azonosítót /run/nginx.pid, és lehetővé teszi a régi dolgozóknak, hogy befejezzék az aktív kéréseket a leállás előtt.

Modern alkalmazástelepítések: Az NGINX és a JFrog használata…

JFrog

Az NGINX beállítása folyamatos működéshez

Ahhoz, hogy a kapcsolatok aktívak maradjanak az újratöltés során, használja ki az NGINX master-worker architektúráját a következő beállításokkal.

Az NGINX legfontosabb konfigurációs lépései

Bekapcsol több_elfogadás hogy a dolgozók eseményenként több kapcsolatot kezelhessenek. Íme egy példa a konfigurációra nginx.conf:

worker_processes auto; pid /run/nginx.pid; events { 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; location / { proxy_pass http://backend; proxy_http_version 1.1; proxy_set_header Kapcsolat ""; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } } 

Konfiguráció újratöltése állásidő nélkül

  1. A módosítások alkalmazásához töltse be újra a jelenlegi dolgozókat:
    nginx -s újratöltés 
  2. Ellenőrizze a frissített fő folyamatazonosítót:
    cat /run/nginx.pid 
  3. Bináris frissítés végrehajtása a forgalom leállítása nélkül:
    kill -USR2 $(cat /run/nginx.pid) kill -WINCH $(cat /run/nginx.pid.oldbin) 

Ezek a lépések lehetővé teszik a forgalom zökkenőmentes átmenetét a régi és az új dolgozók között, biztosítva a zavartalan szolgáltatást.

Telepítési módszerek NGINX-szel

Az NGINX segítségével nulla leállási időt érhet el olyan technikák kihasználásával, mint a kék-zöld beállítások vagy a konténer alapú megközelítések.

Kék-zöld telepítési beállítás

Az NGINX segítségével kezelheti a forgalmat két környezet között – ezt szokták nevezni kék és zöld. Ezek a környezetek azonosak, de egyszerre csak egy aktív. Így működik:

  • Telepítse a frissített verziót az inaktív környezetbe (pl. zöld).
  • Futtasson állapotellenőrzést, hogy megbizonyosodjon arról, hogy az új verzió megfelelően működik.
  • Az ellenőrzés után frissítse a NGINX konfiguráció hogy a forgalmat a frissített környezetbe irányítsák.
  • Töltse be újra a konfigurációt a HUP jelet, hogy elkerülje az aktív kapcsolatok megszakadását.

Ez a módszer zökkenőmentes átmenetet biztosít a szolgáltatás megszakítása nélkül.

Docker és NGINX integráció

A Docker és az NGINX használata leegyszerűsíti a telepítéseket azáltal, hogy konzisztens környezetet tart fenn az alkalmazás és a proxy réteg számára. A következőképpen érheti el a nulla állásidő-frissítéseket:

  • Indítsa el az új tárolót az aktuális aktív mellett.
  • Hajtsa végre az állapotellenőrzéseket, hogy megbizonyosodjon arról, hogy az új tároló készen áll.
  • Módosítsa az NGINX upstream konfigurációját, hogy tartalmazza az új tárolót.
  • Töltse be újra a konfigurációt a HUP jelet, lehetővé téve a régi dolgozóknak, hogy befejezzék a feldolgozást, mielőtt kilépnének.

Ez a megközelítés zavartalan szolgáltatást biztosít az alkalmazás frissítése közben.

Tesztelés és ellenőrzés

Állapotellenőrzések konfigurálása

Az NGINX állapotellenőrzései biztosítják, hogy csak működő szerverek kezeljék a forgalmat. Ezek az ellenőrzések az upstream konfiguráció és a kék-zöld útválasztás mellett működnek. Az NGINX kétféle egészségügyi ellenőrzést kínál: passzív (elérhető NGINX nyílt forráskódú) és aktív (kizárólag az NGINX Plus számára).

Az NGINX nyílt forráskódú passzív állapotellenőrzéséhez állítsa be az upstream blokkot a következőképpen:

upstream backend { server backend1.serverion.com:8080 max_fails=3 fail_timeout=30s; server backend2.serverion.com:8080 max_fails=3 fail_timeout=30s; zone backend 64k; } 

Ha NGINX Plus-t használ, engedélyezheti az aktív állapotellenőrzést a következő hozzáadásával egészségügyi_ellenőrzés irányelvvel együtt a mérkőzés tömb:

location / { proxy_pass http://backend; health_check interval=5s fails=3 passes=2 mandatory persistent; match health_check { status 200; header Content-Type = application/json; body ~ '"status":"FEL"'; } } 

Az NGINX újratöltése előtt feltétlenül érvényesítse ezeket a konfigurációkat.

Konfiguráció érvényesítése

Mindig ellenőrizze az NGINX konfiguráció helyességét az újratöltés előtt. Használja a következő parancsot:

nginx -t -c /út/útvonal/a/nginx.conf 

Zero-Downtime Deployment Essentials

Az állásidő nélküli telepítések gondos NGINX-konfiguráción és alapos infrastruktúra-tervezésen múlik. Ezek az elemek együttműködve biztosítják, hogy a frissítések megszakítások nélkül történjenek.

Íme a siker kulcstényezői:

  • Folyamatvezérlés és konfiguráció érvényesítése: Használja ki az NGINX architektúra előnyeit, miközben ragaszkodik az alapos tesztelési protokollokhoz.
  • Az infrastruktúra stabilitása: Fenntartja a konzisztens teljesítményt és a biztonságot a teljes telepítési folyamat során.

Az egészségügyi ellenőrzésekkel és a visszaállítási lépésekkel kapcsolatos részletekért tekintse meg a Tesztelés és ellenőrzés szakasz.

Serverionplatformja megbízható stabilitással és biztonsággal támogatja ezeket az erőfeszítéseket. Az globális adatközpontok A frissítések során a teljesítmény egyenletes marad, a beépített DDoS védelem pedig gondoskodik arról, hogy a biztonság sértetlen maradjon.

Kezdje kicsiben a funkciókapcsolók használatával a nem kritikus szolgáltatásokon. Fokozatosan bővítse, miközben stratégiája középpontjában a rendszeres tesztelés, a szoros megfigyelés és az egyértelmű visszaállítási tervek állnak.

Kapcsolódó blogbejegyzések

hu_HU