API-yhdyskäytävä ja käänteisvälityspalvelin (Nginx + Spring Cloud Gateway) · Oppitunti

Nollakatkon uudelleenlataukset ja määritysten testaus

Ottakaa Nginx-määritysten muutokset turvallisesti käyttöön tuotannossa määritysten validoinnilla ja hallituilla uudelleenlatauksilla, jotka eivät koskaan katkaise yhteyttä.

Oppitunti 4/413 vaihetta

Nollakatkon uudelleenlataukset ja määritysten testaus on ilmainen API-yhdyskäytävä ja käänteisvälityspalvelin (Nginx + Spring Cloud Gateway)-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu API-yhdyskäytävä ja käänteisvälityspalvelin (Nginx + Spring Cloud Gateway)-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. API-yhdyskäytävä ja käänteisvälityspalvelin (Nginx + Spring Cloud Gateway)-kurssilla on yhteensä 4 oppituntia.

Määritysten muuttaminen ilman käyttökatkoja

Tuotannossa aktiivisia pyyntöjä ei voida menettää Nginxin päivityksen aikana. Työkalujen nginx -t ja nginx -s reload avulla voitte ottaa muutokset käyttöön ilman käyttökatkoa.

Testatkaa ennen muutoksia

Vahvistakaa määritykset aina ensin. nginx -t jäsentää kaikki tiedostot ja ilmoittaa syntaksi- tai polkuvirheistä vaikuttamatta käynnissä olevaan palvelimeen.

nginx -t

Testituloksen lukeminen

Onnistuneen testin tulos päättyy ilmoituksiin syntax is ok ja test is successful. Mikä tahansa muu ilmoitus tarkoittaa, että määritys on korjattava ennen uudelleenlatausta.

# nginx: configuration file /etc/nginx/nginx.conf test is successful

Hallittu uudelleenlataus

nginx -s reload käskee isäntäprosessia lataamaan uuden määrityksen ja käynnistämään uudet worker-prosessit. Vanhat workerit käsittelevät keskeneräiset pyyntönsä loppuun ennen lopettamistaan.

nginx -s reload

Näin hallittu uudelleenlataus toimii

Isäntäprosessi pitää kuuntelusocketit avoimina. Uudet yhteydet ohjataan uusille workereille, kun taas vanhat workerit käsittelevät olemassa olevat yhteydet loppuun, joten yksikään pyyntö ei katkea.

Uudelleenlataus ja uudelleenkäynnistys

Täysi uudelleenkäynnistys sulkee socketit hetkeksi ja katkaisee yhteydet. Suosikaa määritysten muutoksiin reload-toimintoa ja käyttäkää uudelleenkäynnistystä vain binääripäivityksiin tai tilanteisiin, joissa myös isäntäprosessia on muutettava.

# avoid in production for config-only changes:
systemctl restart nginx

Turvallinen käyttöönottoketju

Yhdistäkää nämä kaksi komentoa niin, että uudelleenlataus tehdään vain testin onnistuessa.

nginx -t && nginx -s reload

Tietyn tiedoston vahvistaminen

Testatkaa vaihtoehtoinen määrityspolku ennen sen ottamista käyttöön. Tämä on hyödyllistä CI-putkissa.

nginx -t -c /etc/nginx/nginx.staging.conf

Workereiden vaihtumisen seuraaminen

Uudelleenlatauksen jälkeen voitte hetken nähdä vanhat ja uudet workerit samanaikaisesti vanhojen käsitellessä pyyntöjään loppuun. Tämä on normaalia ja päättyy, kun pyynnöt valmistuvat.

ps aux | grep nginx

Palautusstrategia

Säilyttäkää aiempi tunnetusti toimiva määritys. Jos uudelleenlataus aiheuttaa ongelmia, palauttakaa varmuuskopio, suorittakaa nginx -t ja ladatkaa määritys uudelleen.

cp nginx.conf.bak nginx.conf
nginx -t && nginx -s reload

Turvallisten uudelleenlatausten automatisointi

Yhdistäkää testaus ja uudelleenlataus käyttöönottoskripteihin, jotta virheellinen määritys ei voi koskaan päätyä tuotannon workereille.

if nginx -t; then
  nginx -s reload
else
  echo "Config invalid, aborting"
  exit 1
fi

Pikakertaus

Muokkasitte tuotannossa tiedostoa nginx.conf. Millä komennolla otatte muutoksen käyttöön katkaisematta aktiivisia yhteyksiä?

Kertaus

Opitte tuotantoon turvallisen muutosten työnkulun:

  • nginx -t vahvistaa määrityksen vaikuttamatta toimintaan
  • nginx -s reload ottaa sen hallitusti käyttöön
  • Vanhat workerit käsittelevät keskeneräiset pyynnöt loppuun, joten yhteyksiä ei katkaista
  • Testatkaa aina ennen uudelleenlatausta ja säilyttäkää palautuskopio

Näin käänteinen välityspalvelin pysyy jatkuvasti käytettävissä päivitysten aikana.

Aloita maksutta

Opi API-yhdyskäytävä ja käänteisvälityspalvelin (Nginx + Spring Cloud Gateway) tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
12
Oppitunnit
48

Usein kysytyt kysymykset

Onko oppitunti ”Nollakatkon uudelleenlataukset ja määritysten testaus” ilmainen?

Kyllä – oppitunnin ”Nollakatkon uudelleenlataukset ja määritysten testaus” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko API-yhdyskäytävä ja käänteisvälityspalvelin (Nginx + Spring Cloud Gateway)-kurssin, päivitä CoddyKit PROhon. API-yhdyskäytävä ja käänteisvälityspalvelin (Nginx + Spring Cloud Gateway)-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Nollakatkon uudelleenlataukset ja määritysten testaus”?

Ottakaa Nginx-määritysten muutokset turvallisesti käyttöön tuotannossa määritysten validoinnilla ja hallituilla uudelleenlatauksilla, jotka eivät koskaan katkaise yhteyttä. Harjoittelet API-yhdyskäytävä ja käänteisvälityspalvelin (Nginx + Spring Cloud Gateway)-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni API-yhdyskäytävä ja käänteisvälityspalvelin (Nginx + Spring Cloud Gateway)-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin API-yhdyskäytävä ja käänteisvälityspalvelin (Nginx + Spring Cloud Gateway)-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.

Kuinka kauan ”Nollakatkon uudelleenlataukset ja määritysten testaus”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä API-yhdyskäytävä ja käänteisvälityspalvelin (Nginx + Spring Cloud Gateway)-oppitunnilla?

Kyllä. Jokainen API-yhdyskäytävä ja käänteisvälityspalvelin (Nginx + Spring Cloud Gateway)-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Nginxin lokitus ja metriikat
  2. Nginxin suorituskyvyn säätö
  3. Nginx konttiympäristöissä
  4. Nollakatkon uudelleenlataukset ja määritysten testaus
← Takaisin: API-yhdyskäytävä ja käänteisvälityspalvelin (Nginx + Spring Cloud Gateway)