NGINX on suosittu, ilmainen ja avoimen lähdekoodin verkkopalvelin. NGINX-oletuskokoonpanot ovat riittävän hyviä saamaan verkkopalvelimen toimimaan.
Jos kuitenkin haluat käyttää NGINX: ää täysillä, sinun on leikittävä sen asetustiedostoilla ja asetettava parametrit, jotka optimoivat palvelimen suorituskyvyn. Löydät asetustiedostot kohdasta /etc/nginx hakemistoon Linux-koneella.
Mikä on NGINX?
NGINX on moderni verkkopalvelin, jota voit käyttää median striimaarina, sähköpostipalvelimena, käänteinen välityspalvelin, kuormituksen tasapainotin, välimuistipalvelin ja paljon muuta.
Monien suurten profiilien, kuten VMware, IBM, Cisco, Apple, Microsoft LinkedIn, Netflix, Facebook, Twitter jne., käyttämä NGINX tunnetaan laajalti huippusuorituskyvystään. Toinen NGINX: n käytön etu on, että se on helppo määrittää ja oppia.
Edellytykset virittää NGINX Performance Linuxissa
Sinun on täytettävä seuraavat vaatimukset ennen NGINX-kokoonpanojen aloittamista:
- Linuxissa käyttöön otettu ja määritetty NGINX-palvelin
- Perustiedot NGINX: stä ja sen asetustiedostoista
Jos täytät nämä vaatimukset, olet valmis virittämään NGINX: n optimaalista suorituskykyä varten. Katsotaanpa, miten se tehdään.
1. Määritä työprosessit NGINX: ssä
NGINX-arkkitehtuuri koostuu yhdestä pääprosessista ja useista työprosesseista. Pääprosessin tehtävänä on arvioida kokoonpanoa ja hallita työntekijöitä. Toisaalta työntekijäprosessin tehtävänä on käsitellä saapuvia pyyntöjä ja luoda yhteys asiakkaan ja palvelimen välille.
Prosessiarvo on asetettu arvoon auto oletuksena. Tämä asettaa työprosessien määrän yhtä suureksi kuin käytettävissä olevien suoritinytimien määrä. Jos haluat tietää, kuinka monta CPU-ydintä järjestelmässäsi on, suorita seuraava komento:
grep-prosessori /proc/cpuinfo | wc -l
Jos haluat lisätä työprosessien määrää, sinun on määritettävä tämä NGINX-määritystiedostossa.
Avaa tiedosto nanolla:
nano etc/nginx/nginx.conf
Jos haluat määrittää lisää työprosesseja, muuta oletusarvo järjestelmässäsi käytettävissä olevien CPU-ytimien enimmäismääräksi.
2. Määritä työntekijöiden yhteydet
Toinen parametri, jota voit muokata parantaaksesi NGINX: n suorituskykyä, ovat työntekijöiden yhteydet. Tämä on TCP-yhteyksien enimmäismäärä, jonka jokainen työntekijäprosessi voi käsitellä samanaikaisesti.
Useimpien järjestelmien oletusarvo on 512 yhteyttä, mutta monet nykyaikaiset järjestelmät tukevat myös suurempaa määrää. Voit tarkistaa, kuinka monta yhteyttä järjestelmäsi tukee:
ulimit -n
Lähtö on tuettujen yhteyksien enimmäismäärä. Tämän jälkeen voit muokata työntekijä_yhteydet muuttuja NGINX-määritystiedostossa suorituskyvyn parantamiseksi.
3. Salli GZIP-pakkaus NGINX: ssä
NGINX käyttää GZIP: tä tiedostojen pakkaamiseen ja purkamiseen. Jos se on otettu käyttöön NGINX-määritystiedostossa, voit säästää kaistanleveyttä ja pidentää verkkosivuston latausaikaa, kun yhteys on hidas.
Salli GZIP-pakkaus lisäämällä seuraavat rivit NGINX-määritystiedostoon:
palvelin {
gzip päällä;
gzip_vary päällä;
gzip_min_length 10240;
gzip_proxyed vanhentunut ei-kätköei-tallentaayksityinen auth;
gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/xml;
gzip_disable "MSIE [1-6]\.";
}
4. Rajoita aikakatkaisuarvoa NGINX: ssä
Pienemmillä aikakatkaisuarvoilla on myös tärkeä rooli NGINX: n suorituskyvyn parantamisessa. The pitää hengissä yhteydet vähentävät prosessorin ja verkon ylikuormitusta yhteyksiä avattaessa ja suljettaessa.
Voit muokata seuraavia parametreja asetustiedostossa aikakatkaisujen rajoittamiseksi:
http
{
client_body_timeout 12;
client_header_timeout 12;
Keepalive_timeout 15;
lähetysaikakatkaisu 10;
}
5. Säädä puskurin kokoa
Voit myös säätää NGINX-puskureita palvelimen suorituskyvyn optimoimiseksi. Jos puskurin koko on liian pieni, NGINX kirjoittaa väliaikaiseen tiedostoon, joka saa aikaan valtavia I/O-toimintoja jatkuvasti.
Sinun on asetettava seuraavat puskuriparametrit, jotta NGINX toimisi parhaimmillaan:
http
{
client_body_buffer_size 10K;
client_header_buffer_size 1k;
client_max_body_size 8m;
big_client_header_buffers 4 4k;
}
6. Poista pääsylokit käytöstä tai ota käyttölokien puskurointi käyttöön
Lokit kuluttavat paljon levytilaa ja CPU/IO-jaksoja, mikä voi vaikuttaa palvelimen suorituskykyyn, jos se kirjaa jokaisen pyynnön lokiin.
Voit poistaa käytöstä käyttölokit, mikä säästää levytilaa ja suorittimen käsittelyä. Voit poistaa käyttölokit käytöstä lisäämällä seuraavan rivin NGINX-määritystiedostoon:
access_log off;
Lokit ovat tärkeitä, koska ne auttavat vianmäärityksessä. Lokien poistaminen kokonaan käytöstä ei ole hyvä käytäntö. Tässä tapauksessa voit ottaa käyttölokien puskuroinnin käyttöön. Tämä antaa NGINX: lle mahdollisuuden puskuroida useita lokeja ja kirjoittaa ne lokitiedostoon kerralla sen sijaan, että se käyttäisi eri lokitoimintoja jokaisessa pyynnössä.
Lisää seuraava rivi NGINX-määritystiedostoon salliaksesi käyttölokien puskuroinnin:
access_log/var/log/nginx/access.logpääpuskuri = 16k
7. Säädä staattisen sisällön välimuistin jaksoa NGINX: ssä
Verkkosivuston sisältö, joka pysyy samana eri sivuilla, tunnetaan staattisena sisältönä. Tämän sisällön välimuisti mahdollistaa sen sijoittamisen paikkoihin, joihin pääsee helposti. Tämä mekanismi vähentää kaistanleveyden käyttöä, mahdollistaa nopean käytettävyyden ja parantaa sen jälkeen verkkosivuston suorituskykyä.
Kun asiakas pyytää staattista sisältöä, palvelin tarjoaa välimuistiversion sisällöstä. Lisää seuraavat rivit virtuaaliseen isäntätiedostoon, joka on sijoitettu /etc/nginx/sites-available hakemisto:
sijainti ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
päättyy 90p;
}
Tämä määritys tallentaa tiedostot välimuistiin 90 päivän ajan viimeisestä selaimen käyttöajasta.
8. Ota Open File Cache käyttöön NGINX: ssä
Voit myös käyttää avoimia tiedostovälimuistiparametreja NGINX-määritystiedostossa parantaaksesi sen suorituskykyä. Tämä direktiivi sallii tiedostokuvaajan ja usein vierailevien tiedostojen tallentamisen välimuistiin palvelimelle.
Lisää seuraavat rivit http osio asetustiedostossa, jotta voit ottaa avoimen tiedostovälimuistin käyttöön:
http {
open_file_cache max=1024 inactive=10s;
open_file_cache_valid 60s;
open_file_cache_min_uses 2;
open_file_cache_errors päällä;
}
Ota kaikki irti NGINX: stä muokkaamalla sen määritystiedostoja
Hyvä käytäntö konfiguraatioita muutettaessa on käsitellä yhtä asetusta kerrallaan ja testata sitä. Jos se toimii, siirry seuraavaan asetukseen. Jos ei, voit aina muuttaa kokoonpanon takaisin oletusarvoon.
Muokkaamalla NGINX-määritystiedostoissa määritettyjä parametreja, kuten nginx.conf ja virtuaaliset isäntätiedostot, voit hakkeroida NGINX: n saadaksesi parhaan suorituskyvyn.