NOC online · 24/7Longview, TX · +1 323 412 0665
KinetikatechServers · Security · Websites
FI

Web-palvelimet ja käänteiset välityspalvelimet

nginx: Web-palvelin, joka skaalautuu tapahtumasilmukoiden mukaan

nginx käsittelee suuremman osan verkkoliikenteestä kuin mikään muu palvelin rakenteellisesta syystä: se ratkaisee C10K:n tapahtumaohjatulla, asynkronisella mallilla ketjukohtaisen yhteyden sijaan. Käytännössä sillä on kaksi roolia kerralla, kevyt staattinen tiedostopalvelin ja alan oletusarvoinen käänteinen välityspalvelin, ja useimmat todelliset käyttöönotot ovat toinen. Sen ympärillä oleva toimintakuri (konfigurointitestaus, lokien katselu, TLS-automaatio) päättää, onko virta hiljainen vai hauras.

Keskeiset kohdat

  1. Tapahtumasilmukka-arkkitehtuuri on koko argumentti: pieni määrä työprosesseja käsittelee tuhansia yhteyksiä halvoilla kontekstikytkimillä, minkä vuoksi nginx on erinomainen välityspalvelimena monille hitaille asiakkaille (staattiset resurssit, loppupään mobiilikäyttäjät) polttamatta muistia yhteyskohtaisesti, kuten säiettä per pyyntö -mallit tekevät.
  2. Kaksi roolia yhdessä binäärissä: palvelinlohkot palvelevat staattista sisältöä ja käyttävät uudelleenkirjoituksia; proxy_pass-lohkot päättävät TLS:n ja välittävät eteenpäin ylävirran palveluihin, joissa on terveyteen liittyvää toimintaa (max_fails, aikakatkaisut, puskurointi), jotka ovat konfiguraatiopinta-alaa moduulien sijaan, mikä on suurin yksittäinen tapamuutos Apache-ajattelusta.
  3. Konfigurointikuri on tylsää ja pakollista: nginx -t jokaisen muokkauksen jälkeen, yksi sisällyttää tiedosto per sivusto, jotta palautukset ovat kirurgisia, ja lataa uudelleen (ei käynnisty uudelleen) live-muutostoiminnona; syntaksitestin epäonnistuneen konfiguraation julkaiseminen on sellainen katkos, joka maksaa iltapäivän, mutta on täysin estettävissä.
  4. TLS on ensiluokkainen taso: nykyaikaiset protokollavalinnat, istunnon jatkamisen asetukset ja OCSP-nidonta acme.sh- tai certbot-myönnön automatisoimalla; väärin konfiguroitu uusimiskoukku, joka epäonnistuu äänettömästi 60 päivää, on klassinen nginx-katkos, joten ole varovainen varmenteen iästä sen sijaan, että katsoisi vanhenemista.
  5. Rehelliset rajat: ei dynaamista moduuliekosysteemiä, kuten Apache (staattiset käännösaikaiset moduulit, joten kolmannen osapuolen ominaisuudet vaativat uusintoja tai jakelupaketteja), ja käänteinen välityspalvelinpinta on tarkoituksella laiha, koska nginxin vastaus monimutkaisuuteen on usein "asettaa toinen työkalu eteen" (nopeusrajoitus nginx:ssä plus WAF-luokassa).
  6. Suorituskykytyö alkaa todellisuudesta rahtikulttien sijaan: worker_processes = auto, worker_connections mitoitettu muistiin ja kuormakuoreen, välityspalvelimen_puskurointi ymmärretty (puskurointi PÄÄLLÄ on oletusarvo ja oikea myös useimmille API), gzip/brotli tekstityypeissä ja lokit tarkistetaan 499/504 rengaspiikkien varalta ennen re.sholsdboard.

Kenttämuistiinpano

Nginx-asetus, joka opetti asiakkaalle eniten, oli yksi tiedosto: käänteinen välityspalvelin HSTS:llä, rehelliset välimuistiotsikot ja palvelinlohkot palvelua kohden, kaikki alle 200 riviä. Heidän edellisessä pinossaan oli 4 000 riviä päällekkäisiä sisällytyksiä ja uudelleenlataus, joka rikkoi jotain joka vuosineljännes. Konfigurointipuutarhanhoito lasketaan suunnitteluksi.

Usein kysytyt kysymykset

nginx vs Apache: milloin nginx on selvästi oikeassa?

Korkean samanaikaisuuden käänteinen välityspalvelin, staattisen raskas liikenne ja TLS-päättäminen mittakaavassa, tapahtumasilmukka maksaa täsmälleen siellä. .htaccess-ohjatussa jaetussa isännöinnissä hakemistokohtaisella konfiguraatiolla Apache on edelleen mukava (nginx-vs-apache-artikkelimme kattaa kaupan rehellisesti).

Mikä on reload vs restart -sääntö?

Uudelleenlataus (siisti, vanhat työntekijät lopettavat olemassa olevien yhteyksien palvelemisen, kun uusi konfiguraatio ottaa haltuunsa) on päivittäinen toimenpide; Uudelleenkäynnistys on tarkoitettu moottoriversion muutoksille ja muille, joita uudelleenlataus ei ole tarttunut; eikä kumpikaan korvaa nginx -t:tä ensin.

Miksi jotkut sivustot laittavat Apachen nginxin taakse?

Klassinen hybridipino: nginx lopettaa TLS:n, palvelee statiikkaa nopeasti ja välittää dynaamisia pyyntöjä Apachelle, missä .htaccess ja mod_php-luokan työkalut odottavat perinteistä toimintaa; hinta on yksi liikkuva osa, jota on seurattava ja määritettävä johdonmukaisesti.

Mitkä ovat kolme ensimmäistä viritysvirhettä, jotka tulee välttää?

Kopioi työntekijän/puskurin nupit blogikirjoituksista ilman lataustestausta, proxy_bufferingin jättäminen pois päältä kuultuaan sen olevan hidasta (puskurointi on yleensä nopeampi oletus) ja asetusten testauksen ohittaminen ennen uudelleenlatauksia; kaikki kolme ovat estettävissä yllä olevalla kurinalaisuudesta.

Näin Kinetikatech auttaa: web-palvelimet ja käänteiset välityspalvelimet

Ehdotus on yksinkertainen: Ohjelmat, jotka hyväksyvät yhteydet ja päättävät, miten pyynnöt kulkevat: nginx, Apache, LiteSpeed, Caddy ja Traefik sekä konfigurointitavat, jotka tekevät niistä nopeita, välimuistiin tallennettavia ja vaikeasti poistettavia. Uskokaa se palvelullemme Verkkosivuston nopeuden optimointi ja Palvelinten ylläpito, niin saat täyden kattavuuden: vakava arviointi, siisti käyttöönotto, keskeytyksetön valvonta.

Puhu insinöörin kanssa

Ongelma palvelimella? Sivusto hakkeroitu? Lataus hidasta?

Kriittiset ongelmat ratkaistaan 30 minuutissa — ympäri vuorokauden, seitsemänä päivänä viikossa.

Pyydä hätätukea support@kinetikatech.com