NGINX je priljubljen, brezplačen in odprtokodni spletni strežnik. Privzete konfiguracije NGINX so dovolj dobre za delovanje spletnega strežnika.
Vendar, če želite uporabiti NGINX v največji možni meri, se morate poigrati z njegovimi konfiguracijskimi datotekami in nastaviti parametre, ki bodo optimizirali delovanje strežnika. Konfiguracijske datoteke boste našli v /etc/nginx imenik na računalniku Linux.
Kaj je NGINX?
NGINX je sodoben spletni strežnik, ki ga lahko uporabljate kot predvajalnik medijev, poštni strežnik, obratni posrednik, izravnalnik obremenitve, predpomnilniški strežnik in drugo.
NGINX, ki ga uporabljajo številni veliki profili, kot so VMware, IBM, Cisco, Apple, Microsoft LinkedIn, Netflix, Facebook, Twitter itd., je splošno znan po svoji vrhunski zmogljivosti. Druga prednost uporabe NGINX je, da ga je enostavno konfigurirati in naučiti.
Predpogoji za prilagoditev zmogljivosti NGINX v sistemu Linux
Preden začnete s konfiguracijami NGINX, morate izpolniti naslednje zahteve:
- Strežnik NGINX, nameščen in konfiguriran v sistemu Linux
- Osnovno razumevanje NGINX in njegovih konfiguracijskih datotek
Če izpolnjujete te zahteve, ste pripravljeni nastaviti NGINX za optimalno delovanje. Poglejmo, kako to storiti.
1. Konfigurirajte delovne procese v NGINX
Arhitektura NGINX je sestavljena iz enega glavnega procesa in več delovnih procesov. Naloga glavnega procesa je oceniti konfiguracijo in upravljati delavce. Po drugi strani pa je vloga delovnega procesa obravnavanje dohodnih zahtev in ustvarjanje povezave med odjemalcem in strežnikom.
Vrednost procesa je nastavljena na avto privzeto. To nastavi število delovnih procesov enako številu razpoložljivih jeder CPU. Če želite vedeti, koliko jeder procesorja je prisotnih v vašem sistemu, zaženite naslednji ukaz:
grep procesor /proc/cpuinfo | wc -l
Če želite povečati število delovnih procesov, morate to konfigurirati v konfiguracijski datoteki NGINX.
Odprite datoteko z nano:
nano itd/nginx/nginx.conf
Če želite konfigurirati več delovnih procesov, spremenite privzeto vrednost na največje število razpoložljivih jeder CPE v vašem sistemu.
2. Konfigurirajte delovne povezave
Drugi parameter, ki ga lahko spremenite za izboljšanje zmogljivosti NGINX, so povezave delavcev. To je največje število povezav TCP, ki jih lahko hkrati obravnava vsak delovni proces.
Večina sistemov ima privzeto vrednost 512 povezav, vendar mnogi sodobni sistemi podpirajo tudi večje število. Koliko povezav podpira vaš sistem, lahko preverite z:
ulimit -n
Rezultat bo največje število podprtih povezav. Nato lahko spremenite delavske_povezave spremenljivko v konfiguracijski datoteki NGINX za izboljšanje zmogljivosti.
3. Dovoli stiskanje GZIP v NGINX
NGINX uporablja GZIP za stiskanje in dekompresijo datotek. Če je omogočeno v konfiguracijski datoteki NGINX, lahko prihranite pasovno širino in podaljšate čas nalaganja spletnega mesta, ko je povezava počasna.
Če želite omogočiti stiskanje GZIP, dodajte naslednje vrstice v konfiguracijsko datoteko NGINX:
strežnik {
gzip vklopljen;
gzip_vary on;
gzip_min_length 10240;
gzip_proxied potekel ne-predpomnilnikšt-trgovinazasebno auth;
gzip_types besedilo/navadno besedilo/css besedilo/xml besedilo/javascript aplikacija/x-javascript aplikacija/xml;
gzip_onemogoči "MSIE [1-6]\.";
}
4. Omejitev vrednosti časovne omejitve v NGINX
Zmanjšane vrednosti časovne omejitve prav tako igrajo pomembno vlogo pri izboljšanju zmogljivosti NGINX. The obdržati pri življenju povezave zmanjšajo obremenitev procesorja in omrežja pri odpiranju in zapiranju povezav.
Za omejitev časovnih omejitev lahko spremenite naslednje parametre v konfiguracijski datoteki:
http
{
client_body_timeout 12;
client_header_timeout 12;
keepalive_timeout 15;
časovna omejitev pošiljanja 10;
}
5. Prilagodite velikost medpomnilnika
Prav tako lahko prilagodite medpomnilnike NGINX, da optimizirate delovanje strežnika. Če je velikost vmesnega pomnilnika prenizka, bo NGINX pisal v začasno datoteko, ki povzroča neprekinjeno izvajanje velikih V/I operacij.
Za najboljše delovanje NGINX morate nastaviti naslednje parametre medpomnilnika:
http
{
velikost_telesa_medpomnilnika_odjemalca 10K;
velikost_medpomnilnika_glave_odjemalca 1k;
odjemalec_max_body_size 8m;
large_client_header_buffers 4 4k;
}
6. Onemogočite dnevnike dostopa ali omogočite medpomnjenje dnevnikov dostopa
Dnevniki porabijo veliko prostora na disku in ciklov CPE/IO, kar lahko vpliva na zmogljivost strežnika, če beleži vsako zahtevo.
Dnevnike dostopa lahko onemogočite, kar bo prihranilo nekaj prostora na disku in obdelavo procesorja. Če želite onemogočiti dnevnike dostopa, dodajte naslednjo vrstico v konfiguracijsko datoteko NGINX:
dostop_odjava;
Dnevniki so pomembni, saj pomagajo pri odpravljanju težav. Popolnoma onemogočanje dnevnikov ni dobra praksa. V tem primeru lahko omogočite medpomnjenje dnevnikov dostopa. To bo omogočilo NGINX-u, da v medpomnilnik vnese vrsto dnevnikov in jih hkrati zapiše v datoteko dnevnika, namesto da za vsako zahtevo uporabi različne operacije dnevnika.
Dodajte naslednjo vrstico v konfiguracijsko datoteko NGINX, da omogočite medpomnjenje dnevnikov dostopa:
dostop_log/var/log/nginx/access.logglavnimedpomnilnik=16k
7. Prilagodite obdobje predpomnjenja statične vsebine v NGINX
Vsebina na spletnem mestu, ki na straneh ostaja enaka, je znana kot statična vsebina. Predpomnjenje te vsebine omogoča njeno namestitev na lahko dostopna mesta. Ta mehanizem zmanjša uporabo pasovne širine, omogoča hitro dostopnost in posledično izboljša delovanje spletnega mesta.
Ko odjemalec zahteva statično vsebino, strežnik postreže predpomnjeno različico vsebine. Dodajte naslednje vrstice v datoteko navideznega gostitelja, nameščeno v /etc/nginx/sites-available imenik:
lokacija ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
poteče 90d;
}
Ta konfiguracija bo predpomnila datoteke 90 dni od zadnjega dostopa brskalnika.
8. Omogoči Open File Cache v NGINX
Parametre predpomnilnika odprte datoteke lahko uporabite tudi v konfiguracijski datoteki NGINX, da izboljšate njeno delovanje. Ta direktiva omogoča, da se datotečni deskriptor in pogosto obiskane datoteke predpomnijo na strežnik.
Dodajte naslednje vrstice v http v konfiguracijski datoteki, da omogočite odprti predpomnilnik datotek:
http {
open_file_cache max=1024 neaktiven=10s;
open_file_cache_valid 60s;
open_file_cache_min_uses 2;
open_file_cache_errors on;
}
Izkoristite NGINX kar najbolje s spreminjanjem njegovih konfiguracijskih datotek
Dobra praksa, ki ji je treba slediti med spreminjanjem konfiguracij, je, da obravnavate eno nastavitev naenkrat in jo preizkusite. Če deluje, se premaknite na naslednjo nastavitev. Če ne, lahko konfiguracijo vedno spremenite nazaj na privzeto vrednost.
S spreminjanjem parametrov, konfiguriranih v konfiguracijskih datotekah NGINX, kot je npr nginx.conf in datoteke virtualnega gostitelja, lahko vdrete v NGINX, da zagotovite najboljšo zmogljivost.