Tokie skaitytojai kaip jūs padeda palaikyti MUO. Kai perkate naudodami nuorodas mūsų svetainėje, galime uždirbti filialų komisinius. Skaityti daugiau.

NGINX yra populiarus, nemokamas ir atviro kodo žiniatinklio serveris. Numatytosios NGINX konfigūracijos yra pakankamai geros, kad žiniatinklio serveris veiktų.

Tačiau jei norite naudoti NGINX iki galo, turite žaisti su jo konfigūracijos failais ir nustatyti parametrus, kurie optimizuos serverio našumą. Konfigūracijos failus rasite /etc/nginx katalogą Linux kompiuteryje.

Kas yra NGINX?

NGINX yra modernus žiniatinklio serveris, kurį galite naudoti kaip medijos transliuotoją, pašto serverį, atvirkštinis tarpinis serveris, apkrovos balansavimo priemonė, talpyklos serveris ir kt.

NGINX naudojamas daugelyje didelių profilių, tokių kaip VMware, IBM, Cisco, Apple, Microsoft LinkedIn, Netflix, Facebook, Twitter ir kt., NGINX yra plačiai žinomas dėl savo aukščiausios klasės našumo. Kitas NGINX naudojimo pranašumas yra tai, kad jį lengva konfigūruoti ir išmokti.

instagram viewer

Būtinos sąlygos norint sureguliuoti NGINX našumą sistemoje „Linux“.

Prieš pradėdami NGINX konfigūracijas, turite atitikti šiuos reikalavimus:

  1. NGINX serveris, įdiegtas ir sukonfigūruotas „Linux“.
  2. Pagrindinis supratimas apie NGINX ir jo konfigūracijos failus

Jei atitinkate šiuos reikalavimus, esate pasirengę suderinti NGINX, kad pasiektumėte optimalų našumą. Pažiūrėkime, kaip tai padaryti.

1. Konfigūruokite darbuotojų procesus NGINX

NGINX architektūra susideda iš vieno pagrindinio proceso ir kelių darbinių procesų. Pagrindinio proceso užduotis yra įvertinti konfigūraciją ir valdyti darbuotojus. Kita vertus, darbuotojo proceso vaidmuo yra susidoroti su gaunamomis užklausomis ir sukurti ryšį tarp kliento ir serverio.

Proceso reikšmė nustatyta į automatinis pagal nutylėjimą. Tai nustato darbuotojų procesų skaičių, lygų turimų procesoriaus branduolių skaičiui. Norėdami sužinoti, kiek procesoriaus branduolių yra jūsų sistemoje, paleiskite šią komandą:

grep procesorius /proc/cpuinfo | wc -l

Jei norite padidinti darbuotojų procesų skaičių, turite tai sukonfigūruoti NGINX konfigūracijos faile.

Atidarykite failą naudodami nano:

nano etc/nginx/nginx.conf

Norėdami sukonfigūruoti daugiau darbuotojų procesų, pakeiskite numatytąją reikšmę į maksimalų galimų jūsų sistemoje CPU branduolių skaičių.

2. Konfigūruokite darbuotojų ryšius

Kitas parametras, kurį galite keisti, kad pagerintumėte NGINX našumą, yra darbuotojų ryšiai. Tai didžiausias TCP jungčių skaičius, kurį vienu metu gali apdoroti kiekvienas darbuotojo procesas.

Daugumos sistemų numatytoji reikšmė yra 512 jungčių, tačiau daugelis šiuolaikinių sistemų palaiko ir didesnį skaičių. Galite patikrinti, kiek jungčių palaiko jūsų sistema:

ulimit -n

Išvestis bus didžiausias palaikomų jungčių skaičius. Tada galite modifikuoti darbuotojo_ryšiai kintamąjį NGINX konfigūracijos faile, kad pagerintumėte našumą.

3. Leisti GZIP glaudinimą NGINX

NGINX naudoja GZIP failams glaudinti ir išskleisti. Jei įjungta NGINX konfigūracijos faile, galite sutaupyti pralaidumo ir pailginti svetainės įkėlimo laiką, kai ryšys lėtas.

Norėdami leisti GZIP glaudinimą, NGINX konfigūracijos faile pridėkite šias eilutes:

serveris {
gzip įjungtas;
gzip_vary on;
gzip_min_length 10240;
gzip_proxyed pasibaigė ne-talpyklane-parduotuvėprivatus auth;
gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/xml;
gzip_disable "MSIE [1-6]\.";
}

4. Apriboti skirtojo laiko vertę NGINX

Sumažėjusios skirtojo laiko reikšmės taip pat atlieka svarbų vaidmenį gerinant NGINX našumą. The išlaikyti gyvą jungtys sumažina procesoriaus ir tinklo sąnaudas atidarant ir uždarant ryšius.

Norėdami apriboti skirtąjį laiką, konfigūracijos faile galite keisti šiuos parametrus:

http
{
client_body_timeout 12;
client_header_timeout 12;
Keepalive_timeout 15;
siuntimo laikas 10;
}

5. Sureguliuokite buferio dydį

Taip pat galite koreguoti NGINX buferius, kad optimizuotumėte serverio našumą. Jei buferio dydis yra per mažas, NGINX įrašys į laikiną failą, dėl kurio nuolat vykdomos didžiulės įvesties / išvesties operacijos.

Kad NGINX veiktų geriausiai, turite nustatyti šiuos buferio parametrus:

http
{
kliento_kūno_buferio_dydis 10K;
kliento_antraštės_buferio_dydis 1k;
kliento_maksimalus_kūno_dydis 8m;
big_client_header_buffers 4 4k;
}

6. Išjunkite prieigos žurnalus arba įgalinkite prieigos žurnalų buferį

Žurnalai užima daug vietos diske ir CPU/IO ciklų, kurie gali turėti įtakos serverio našumui, jei jis registruoja kiekvieną užklausą.

Galite išjungti prieigos žurnalus, kurie sutaupys vietos diske ir sutaupys procesoriaus apdorojimo. Norėdami išjungti prieigos žurnalus, į NGINX konfigūracijos failą pridėkite šią eilutę:

access_log off;

Žurnalai yra svarbūs, nes padeda išspręsti problemą. Visiškai išjungti žurnalus nėra gera praktika. Tokiu atveju galite įjungti prieigos žurnalų buferį. Tai leis NGINX saugoti žurnalų seriją ir vienu metu įrašyti juos į žurnalo failą, o ne taikyti skirtingas žurnalo operacijas kiekvienai užklausai.

Į NGINX konfigūracijos failą pridėkite šią eilutę, kad būtų galima naudoti prieigos žurnalų buferį:

prieigos_žurnalas/var/log/nginx/access.logpagrindinisbuferis = 16k

7. Sureguliuokite statinio turinio talpyklos periodą NGINX

Svetainės turinys, kuris visuose puslapiuose išlieka toks pat, vadinamas statiniu. Šio turinio kaupimas talpykloje leidžia jį įdėti į lengvai pasiekiamas vietas. Šis mechanizmas sumažina pralaidumo naudojimą, leidžia greitai pasiekti, o vėliau pagerina svetainės našumą.

Kai klientas prašo statinio turinio, serveris pateiks talpykloje saugomą turinio versiją. Pridėkite šias eilutes į virtualaus pagrindinio kompiuterio failą, įdėtą į /etc/nginx/sites-available katalogas:

vieta ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
baigiasi 90 d.;
}

Ši konfigūracija išsaugos failus talpykloje 90 dienų nuo paskutinio naršyklės prieigos laiko.

8. Įgalinkite „Open File Cache“ NGINX

Taip pat galite naudoti atviros failo talpyklos parametrus NGINX konfigūracijos faile, kad pagerintumėte jo veikimą. Ši direktyva leidžia failo aprašą ir dažnai lankomus failus talpykloje perkelti į serverį.

Įtraukite šias eilutes http konfigūracijos failo skyrių, kad įjungtumėte failo talpyklos atidarymą:

http {
open_file_cache max=1024 neaktyvus=10s;
open_file_cache_valid 60s;
open_file_cache_min_uses 2;
open_file_cache_errors on;
}

Išnaudokite visas NGINX galimybes modifikuodami jo konfigūracijos failus

Gera praktika, kurios reikia laikytis keičiant konfigūracijas, yra vienu metu atlikti vieną nustatymą ir jį išbandyti. Jei tai veikia, pereikite prie kito nustatymo. Jei ne, visada galite pakeisti konfigūraciją į numatytąją vertę.

Pakeitus parametrus, sukonfigūruotus NGINX konfigūracijos failuose, pvz nginx.conf ir virtualaus pagrindinio kompiuterio failus, galite nulaužti NGINX, kad užtikrintumėte geriausią našumą.