Ota meihin yhteyttä

info@serverion.com

Soita meille

+1 (302) 380 3902

NGINX Config for DevOps: Serverionin temppu nollakäyttöönottoihin

NGINX Config for DevOps: Serverionin temppu nollakäyttöönottoihin

Käyttöönotto ilman seisokkeja tarkoittaa sovelluksesi päivittämistä palvelua keskeyttämättä – pakollinen yrityksille, joissa lyhytkin käyttökatko voi maksaa miljoonia. NGINX tekee tämän mahdolliseksi käyttämällä master-worker prosessimalliaan ja älykkäitä signaaleja, kuten USR2 (aloittaa uusia prosesseja) ja HUP (lataa kokoonpano uudelleen). Tässä on avain:

  • Miten se toimii: NGINX siirtää liikenteen vanhoilta työntekijöiltä päivitettyihin ilman yhteyksien katkeamista.
  • Tärkeimmät vaiheet: Käytä signaaleja (USR2, HUPjne.), määritä nginx.conf oikein ja vahvista muutokset ennen uudelleenlatausta.
  • Tekniikat: Yhdistä NGINX menetelmiin, kuten sinivihreisiin käyttöönottoihin tai Dockeriin, jotta saat saumattomia päivityksiä.
  • Terveystarkastukset: Varmista, että vain terveet palvelimet käsittelevät liikennettä käyttämällä NGINX:n passiivisia tai aktiivisia terveystarkastuksia.

Oikeilla määrityksillä voit pitää palvelusi sujuvana päivitysten aikana, suojata tuloja ja ylläpitää asiakkaiden luottamusta.

NGINX-perustiedot nolla-seisokkikäyttöön

nginx

Nolla-seisokkikäyttö selitetty

NGINX käyttää master-worker -mallia käsitelläkseen päivitykset keskeyttämättä palvelua. Pääprosessi valvoo määritystä ja ohjausta, kun taas työntekijäprosessit hallitsevat asiakasyhteyksiä. Tämän asennuksen avulla liikenne voi siirtyä saumattomasti vanhoilta työntekijöiltä uusiin päivitysten aikana, mikä varmistaa keskeytymättömän palvelun.

NGINX-yhteyksien hallinta

NGINX luottaa tiettyihin signaaleihin ohjatakseen prosesseja päivitysten tai kokoonpanomuutosten aikana:

  • USR2: Käynnistää uudet pää- ja työntekijäprosessit.
  • VINSSI: Pysäyttää vanhat työntekijäprosessit sulavasti.
  • HUP: Lataa kokoonpanon uudelleen ja korvaa työntekijät.
  • LOPETTAA: Sammuttaa mestarin ja työntekijät sulavasti.

Uudelleenlatauksen aikana NGINX siirtää vanhan pääprosessitunnuksen osoitteeseen /run/nginx.pid.oldbin, kirjoittaa uuden pääprosessin tunnuksen /run/nginx.pidja antaa vanhoille työntekijöille mahdollisuuden suorittaa aktiiviset pyynnöt ennen sulkemista.

Nykyaikaiset sovellusten käyttöönotot: Kuinka käyttää NGINX:ää ja JFrogia…

JFrog

NGINX:n asettaminen jatkuvaan käyttöön

Pidä yhteydet aktiivisina uudelleenlatausten aikana hyödyntämällä NGINX:n master-worker -arkkitehtuuria seuraavilla asetuksilla.

Tärkeimmät NGINX-määritysvaiheet

Kytke päälle multi_accept antaa työntekijöiden käsitellä useita yhteyksiä tapahtumaa kohden. Tässä on esimerkki kokoonpanosta 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 Yhteys ""; proxy_set_header Isäntä $host; proxy_set_header X-Real-IP $remote_addr; } } } 

Kokoonpanon uudelleenlataus ilman seisokkeja

  1. Päivitä nykyiset työntekijät ottaaksesi muutokset käyttöön:
    nginx -s lataa uudelleen 
  2. Tarkista päivitetty pääprosessin tunnus:
    cat /run/nginx.pid 
  3. Suorita binääripäivitys pysäyttämättä liikennettä:
    tappaa -USR2 $(cat /run/nginx.pid) tappaa -WINCH $(cat /run/nginx.pid.oldbin) 

Nämä vaiheet mahdollistavat liikenteen sujuvan siirtymisen vanhojen ja uusien työntekijöiden välillä, mikä varmistaa keskeytymättömän palvelun.

Käyttöönottomenetelmät NGINX:n kanssa

Voit käyttää NGINX:ää saavuttaaksesi nollakatkosajan käyttöönoton hyödyntämällä tekniikoita, kuten sinivihreitä asetuksia tai konttipohjaisia lähestymistapoja.

Sinivihreä käyttöönottoasetukset

NGINX:n avulla voit hallita liikennettä kahden ympäristön välillä – joita kutsutaan yleisesti nimellä sininen ja vihreä. Nämä ympäristöt ovat identtisiä, mutta vain yksi on aktiivinen kerrallaan. Näin se toimii:

  • Ota päivitetty versio käyttöön ei-aktiivisessa ympäristössä (esim. vihreä).
  • Suorita terveystarkastukset varmistaaksesi, että uusi versio toimii oikein.
  • Kun olet vahvistanut, päivitä NGINX-kokoonpano ohjaamaan liikennettä päivitettyyn ympäristöön.
  • Lataa kokoonpano uudelleen käyttämällä HUP signaalia, jotta aktiiviset yhteydet eivät katkea.

Tämä menetelmä varmistaa sujuvan siirtymisen ilman palvelun keskeytyksiä.

Docker- ja NGINX-integraatio

Dockerin käyttäminen NGINX:n kanssa virtaviivaistaa käyttöönottoa ylläpitämällä yhdenmukaisia ympäristöjä sekä sovellus- että välityspalvelintasoille. Näin voit saada päivityksiä ilman seisokkeja:

  • Käynnistä uusi säilö nykyisen aktiivisen säilön rinnalla.
  • Suorita terveystarkastukset varmistaaksesi, että uusi säilö on valmis.
  • Muokkaa NGINX:n ylävirran kokoonpanoa sisällyttämään uusi säilö.
  • Lataa kokoonpano uudelleen painikkeella HUP signaali, jolloin vanhat työntekijät voivat lopettaa käsittelyn ennen kuin he poistuvat.

Tämä lähestymistapa varmistaa keskeytymättömän palvelun sovelluksen päivityksen aikana.

Testaus ja todentaminen

Määritä terveystarkastukset

NGINX-terveystarkastukset auttavat varmistamaan, että vain toimivat palvelimet käsittelevät liikennettä. Nämä tarkistukset toimivat ylävirran konfiguroinnin ja sinivihreän reitityksen rinnalla. NGINX tarjoaa kahdenlaisia terveystarkastuksia: passiivinen (saatavilla NGINX:n avoimessa lähdekoodissa) ja aktiivinen (ainoastaan NGINX Plus).

NGINX:n avoimen lähdekoodin passiivisia terveystarkastuksia varten määritä ylävirran lohko seuraavasti:

ylävirran taustajärjestelmä { palvelin backend1.serverion.com:8080 max_fails=3 fail_timeout=30s; palvelin backend2.serverion.com:8080 max_fails=3 fail_timeout=30s; vyöhykkeen taustajärjestelmä 64k; } 

Jos käytät NGINX Plus -ohjelmaa, voit ottaa aktiiviset terveystarkastukset käyttöön lisäämällä terveystarkastus direktiivi yhdessä a ottelu lohko:

sijainti / { proxy_pass http://backend; health_check interval=5s epäonnistuu=3 läpäisee=2 pakollinen pysyvä; match health_check { status 200; header Content-Type = application/json; body ~ '"status":"UP"'; } } 

Varmista, että vahvistat nämä kokoonpanot ennen NGINX:n lataamista uudelleen.

Vahvista kokoonpano

Testaa aina NGINX-kokoonpanosi oikeellisuus ennen uudelleenlatausta. Käytä seuraavaa komentoa:

nginx -t -c /polku/oma/nginx.conf 

Nolla-seisonta-käyttöönoton perusasiat

Nollakatkosaikaisten käyttöönottojen saavuttaminen riippuu huolellisesta NGINX-kokoonpanosta ja vakaasta infrastruktuurisuunnittelusta. Nämä elementit toimivat yhdessä varmistaakseen, että päivitykset tapahtuvat keskeytyksettä.

Tässä ovat menestystekijät:

  • Prosessin ohjaus ja konfiguraation validointi: Hyödynnä täysi hyöty NGINX:n arkkitehtuurista pitäen samalla kiinni perusteellisista testausprotokollista.
  • Infrastruktuurin vakaus: Ylläpidä tasaista suorituskykyä ja pidä tietoturva tiukkana koko käyttöönottoprosessin ajan.

Lisätietoja terveystarkastuksista ja palautusvaiheista on osoitteessa Testaus ja todentaminen osio.

Serverionn alusta tukee näitä pyrkimyksiä luotettavalla vakaudella ja turvallisuudella. Sen maailmanlaajuiset datakeskukset pitää suorituskyvyn vakaana päivitysten aikana, ja sisäänrakennettu DDoS-suojaus varmistaa, että tietoturva pysyy ennallaan.

Aloita pienestä käyttämällä ei-kriittisten palvelujen toimintovalintoja. Kasvata asteittain ja pidä säännöllinen testaus, tarkka seuranta ja selkeät palautussuunnitelmat strategiasi keskiössä.

Aiheeseen liittyvät blogikirjoitukset

fi