Kontaktirajte nas

info@serverion.com

Nazovite nas

+1 (302) 380 3902

NGINX Config za DevOps: Serverionov trik za implementacije bez prekida rada

NGINX Config za DevOps: Serverionov trik za implementacije bez prekida rada

Implementacije bez zastoja znači ažuriranje vaše aplikacije bez prekida usluge – neophodno za tvrtke u kojima čak i kratki prekid može koštati milijune. NGINX to čini mogućim koristeći svoj procesni model master-worker i pametne signale poput USR2 (pokretanje novih procesa) i HUP (ponovno učitavanje konfiguracije). Evo ključa:

  • Kako radi: NGINX prebacuje promet sa starih radnika na ažurirane bez prekidanja veza.
  • Ključni koraci: Koristite signale (USR2, HUP, itd.), konfigurirajte nginx.conf ispravno i potvrdite promjene prije ponovnog učitavanja.
  • Tehnike: Kombinirajte NGINX s metodama kao što su plavo-zelene implementacije ili Docker za besprijekorna ažuriranja.
  • Zdravstveni pregledi: Osigurajte da samo zdravi poslužitelji obrađuju promet, koristeći NGINX-ove pasivne ili aktivne provjere zdravlja.

Uz pravu konfiguraciju, možete održavati nesmetan rad svojih usluga tijekom ažuriranja, zaštititi prihod i održati povjerenje korisnika.

Osnove NGINX-a za implementaciju bez prekida rada

Nginx

Objašnjenje implementacije bez prekida rada

NGINX koristi model master-worker za rukovanje ažuriranjima bez prekida usluge. Glavni proces nadzire konfiguraciju i kontrolu, dok radnički procesi upravljaju vezama klijenata. Ova postavka omogućuje neprimjetan prijenos prometa sa starih radnika na nove tijekom ažuriranja, osiguravajući neprekinutu uslugu.

NGINX upravljanje vezom

NGINX se oslanja na specifične signale za kontrolu procesa tijekom nadogradnji ili promjena konfiguracije:

  • USR2: Pokreće nove glavne i radne procese.
  • VITLO: Graciozno zaustavlja stare radne procese.
  • HUP: Ponovno učitava konfiguraciju i zamjenjuje radnike.
  • PRESTATI: Graciozno isključuje majstora i radnike.

Prilikom ponovnog učitavanja, NGINX premješta ID starog glavnog procesa na /run/nginx.pid.oldbin, zapisuje novi ID glavnog procesa u /run/nginx.pid, i omogućuje starim radnicima da dovrše aktivne zahtjeve prije gašenja.

Moderne implementacije aplikacija: Kako koristiti NGINX i JFrog za...

JŽaba

Postavljanje NGINX-a za kontinuirani rad

Kako bi veze ostale aktivne tijekom ponovnog učitavanja, iskoristite NGINX-ovu master-worker arhitekturu sa sljedećim postavkama.

Ključni koraci konfiguracije NGINX-a

Uključi se više_prihvatiti kako bi radnici mogli rukovati s višestrukim vezama po događaju. Evo primjera konfiguracije za nginx.conf:

worker_processes auto; pid /run/nginx.pid; događaji { worker_connections 1024; multi_accept on; } http { uzvodni backend { poslužitelj backend1.example.com:8080; poslužitelj backend2.example.com:8080; keepalive 32; } poslužitelj { listen 80; naziv_poslužitelja example.com; lokacija / { proxy_pass http://backend; proxy_http_version 1.1; proxy_set_header Veza ""; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } } 

Ponovno učitavanje konfiguracije bez prekida

  1. Ponovno učitajte trenutne radnike za primjenu promjena:
    nginx -s ponovno učitavanje 
  2. Provjerite ažurirani ID glavnog procesa:
    mačka /run/nginx.pid 
  3. Izvršite binarnu nadogradnju bez zaustavljanja prometa:
    kill -USR2 $(cat /run/nginx.pid) kill -WINCH $(cat /run/nginx.pid.oldbin) 

Ovi koraci omogućuju nesmetan prijelaz prometa između starih i novih radnika, osiguravajući neprekinutu uslugu.

Metode implementacije s NGINX-om

NGINX možete koristiti za postizanje implementacija bez prekida rada korištenjem tehnika poput plavo-zelenih postavki ili pristupa temeljenih na spremnicima.

Plavo-zelena postavka implementacije

Pomoću NGINX-a možete upravljati prometom između dva okruženja – koja se obično nazivaju plava i zelena. Ta su okruženja identična, ali samo je jedno aktivno u isto vrijeme. Evo kako to funkcionira:

  • Postavite ažuriranu verziju u neaktivno okruženje (npr. zeleno).
  • Pokrenite provjere ispravnosti kako biste bili sigurni da nova verzija ispravno radi.
  • Nakon provjere ažurirajte NGINX konfiguracija za usmjeravanje prometa u ažuriranu okolinu.
  • Ponovno učitajte konfiguraciju pomoću HUP signal kako biste izbjegli prekid bilo koje aktivne veze.

Ova metoda osigurava gladak prijelaz bez prekida usluge.

Docker i NGINX integracija

Korištenje Dockera s NGINX-om pojednostavljuje implementacije održavanjem dosljednih okruženja za vašu aplikaciju i proxy sloj. Evo kako možete postići ažuriranja bez prekida rada:

  • Pokrenite novi spremnik uz trenutno aktivni.
  • Obavite zdravstvene provjere kako biste potvrdili da je novi spremnik spreman.
  • Izmijenite uzvodnu konfiguraciju NGINX-a kako biste uključili novi spremnik.
  • Ponovno učitajte konfiguraciju pomoću HUP signal, dopuštajući starim radnicima da završe obradu prije nego izađu.

Ovaj pristup osigurava neprekinutu uslugu tijekom ažuriranja vaše aplikacije.

Ispitivanje i provjera

Konfigurirajte provjere stanja

NGINX provjere zdravlja pomažu osigurati da samo funkcionalni poslužitelji upravljaju prometom. Ove provjere rade uz uzvodnu konfiguraciju i plavo-zeleno usmjeravanje. NGINX nudi dvije vrste provjera zdravlja: pasivan (dostupno u NGINX Open Source) i aktivan (ekskluzivno za NGINX Plus).

Za pasivne zdravstvene provjere u NGINX Open Source, postavite svoj uzvodni blok ovako:

uzvodni backend { poslužitelj backend1.serverion.com:8080 max_fails=3 fail_timeout=30s; poslužitelj backend2.serverion.com:8080 max_fails=3 fail_timeout=30s; zonski backend 64k; } 

Ako koristite NGINX Plus, možete omogućiti aktivne zdravstvene provjere dodavanjem zdravstveni_provjera direktiva zajedno s a odgovarati blokirati:

lokacija / { proxy_pass http://backend; interval provjere stanja = 5s neuspješno = 3 prolazno = 2 obavezno uporno; podudaranje provjera stanja { status 200; zaglavlje Content-Type = aplikacija/json; tijelo ~ '"status":"UP"'; } } 

Svakako potvrdite ove konfiguracije prije ponovnog učitavanja NGINX-a.

Provjerite konfiguraciju

Prije ponovnog učitavanja uvijek provjerite ispravnost svoje NGINX konfiguracije. Koristite sljedeću naredbu:

nginx -t -c /put/do/vašeg/nginx.conf 

Osnove implementacije bez prekida rada

Postizanje implementacija bez prekida rada ovisi o pažljivoj konfiguraciji NGINX-a i čvrstom planiranju infrastrukture. Ovi elementi rade zajedno kako bi osigurali da se ažuriranja odvijaju bez prekida.

Evo ključnih faktora uspjeha:

  • Kontrola procesa i validacija konfiguracije: Iskoristite sve prednosti NGINX-ove arhitekture dok se pridržavate protokola temeljitog testiranja.
  • Stabilnost infrastrukture: Održavajte dosljednu izvedbu i održavajte sigurnost tijekom cijelog procesa postavljanja.

Pojedinosti o provjerama ispravnosti i koracima vraćanja potražite u Ispitivanje i provjera odjeljak.

ServerionPlatforma podržava te napore pouzdanom stabilnošću i sigurnošću. Njegovo globalni podatkovni centri održavajte rad stabilnim tijekom ažuriranja, a ugrađena DDoS zaštita osigurava da sigurnost ostane netaknuta.

Počnite s malim korištenjem značajki za uključivanje na nekritičnim uslugama. Postupno se povećavajte, zadržavajući redovito testiranje, pažljivo praćenje i jasne planove vraćanja u središte svoje strategije.

Povezani postovi na blogu

hr