NGINX on populaarne, tasuta ja avatud lähtekoodiga veebiserver. NGINX-i vaikekonfiguratsioonid on veebiserveri tööle panemiseks piisavalt head.
Kui aga soovite NGINX-i täies mahus kasutada, peate mängima selle konfiguratsioonifailidega ja määrama parameetrid, mis optimeerivad serveri jõudlust. Konfiguratsioonifailid leiate jaotisest /etc/nginx kataloog Linuxi masinas.
Mis on NGINX?
NGINX on kaasaegne veebiserver, mida saate kasutada meediumivooge, meiliserverina, vastupidine puhverserver, koormuse tasakaalustaja, vahemäluserver ja palju muud.
NGINX on laialt tuntud oma tipptasemel jõudluse poolest, mida kasutavad paljud suured profiilid, nagu VMware, IBM, Cisco, Apple, Microsoft LinkedIn, Netflix, Facebook, Twitter jne. Teine NGINX-i kasutamise eelis on see, et seda on lihtne konfigureerida ja õppida.
Eeltingimused NGINX-i jõudluse häälestamiseks Linuxis
Enne NGINX-i konfiguratsioonidega alustamist peate täitma järgmised nõuded.
- Linuxis juurutatud ja konfigureeritud NGINX-server
- Põhiteadmised NGINX-ist ja selle konfiguratsioonifailidest
Kui vastate nendele nõuetele, olete valmis NGINX-i optimaalse jõudluse saavutamiseks häälestama. Vaatame, kuidas seda teha.
1. Töötajate protsesside konfigureerimine NGINX-is
NGINX arhitektuur koosneb ühest põhiprotsessist ja mitmest tööprotsessist. Põhiprotsessi ülesanne on konfiguratsiooni hindamine ja töötajate haldamine. Teisest küljest on töötaja protsessi ülesanne tegeleda sissetulevate päringutega ning luua ühendus kliendi ja serveri vahel.
Protsessi väärtus on seatud auto algselt. See määrab tööprotsesside arvu võrdseks saadaolevate CPU tuumade arvuga. Et teada saada, kui palju protsessori tuumasid teie süsteemis on, käivitage järgmine käsk:
grep protsessor /proc/cpuinfo | wc -l
Kui soovite tööprotsesside arvu suurendada, peate selle konfigureerima NGINX-i konfiguratsioonifailis.
Avage fail nano abil:
nano jne/nginx/nginx.conf
Rohkemate tööprotsesside konfigureerimiseks muutke vaikeväärtus oma süsteemis saadaolevate CPU tuumade maksimaalseks arvuks.
2. Töötajate ühenduste konfigureerimine
Teine parameeter, mida saate NGINX-i jõudluse parandamiseks muuta, on töötajate ühendused. See on maksimaalne TCP-ühenduste arv, mida iga töötaja protsess saab samaaegselt käsitleda.
Enamiku süsteemide vaikeväärtus on 512 ühendust, kuid paljud kaasaegsed süsteemid toetavad ka suuremat arvu. Saate kontrollida, mitut ühendust teie süsteem toetab:
ulimit -n
Väljundiks on maksimaalne toetatud ühenduste arv. Seejärel saate muuta töötaja_ühendused jõudluse parandamiseks muutuja NGINX konfiguratsioonifailis.
3. Luba GZIP-i tihendamine NGINX-is
NGINX kasutab failide tihendamiseks ja lahtipakkimiseks GZIP-i. Kui see on NGINX-i konfiguratsioonifailis lubatud, saate säästa ribalaiust ja pikendada veebisaidi laadimisaega, kui ühendus on aeglane.
GZIP-i tihendamise lubamiseks lisage NGINX-i konfiguratsioonifaili järgmised read:
server {
gzip sisse;
gzip_vary on;
gzip_min_length 10240;
gzip_proxyed aegus no-vahemäluei-kauplusprivaatne auth;
gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/xml;
gzip_disable "MSIE [1-6]\.";
}
4. Piirake ajalõpu väärtust NGINX-is
Vähendatud ajalõpu väärtused mängivad samuti olulist rolli NGINX-i jõudluse parandamisel. The elus hoidma ühendused vähendavad ühenduste avamisel ja sulgemisel protsessori ja võrgu ülekoormust.
Ajalõpude piiramiseks saate konfiguratsioonifailis muuta järgmisi parameetreid.
http
{
client_body_timeout 12;
client_header_timeout 12;
Keepalive_timeout 15;
saatmisaeg 10;
}
5. Reguleerige puhvri suurust
Serveri jõudluse optimeerimiseks saate reguleerida ka NGINX-i puhvreid. Kui puhvri suurus on liiga väike, kirjutab NGINX ajutisse faili, mis põhjustab tohutute I/O operatsioonide pidevat käitamist.
NGINX-i parimaks toimimiseks peate määrama järgmised puhvri parameetrid:
http
{
client_body_buffer_size 10K;
kliendi_päise_puhvri_suurus 1k;
kliendi_max_kere_suurus 8m;
suured_kliendi_päise_puhvrid 4 4k;
}
6. Keela juurdepääsulogid või luba juurdepääsulogide puhverdamine
Logid tarbivad palju kettaruumi ja CPU/IO tsükleid, mis võivad mõjutada serveri jõudlust, kui see logib iga päringu.
Saate keelata juurdepääsulogid, mis säästavad kettaruumi ja CPU töötlemist. Juurdepääsulogide keelamiseks lisage NGINX-i konfiguratsioonifaili järgmine rida:
access_log off;
Logid on olulised, kuna need aitavad probleemi tõrkeotsingul. Logide täielik keelamine ei ole hea tava. Sel juhul saate lubada juurdepääsulogide puhverdamise. See võimaldab NGINX-il puhverdada rida logisid ja kirjutada need korraga logifaili, selle asemel, et rakendada igale päringule erinevaid logitoiminguid.
Juurdepääsulogide puhverdamise lubamiseks lisage NGINX-i konfiguratsioonifaili järgmine rida:
juurdepääsu_log/var/log/nginx/access.logpeaminepuhver = 16k
7. Reguleerige NGINX-is staatilise sisu vahemällu salvestamise perioodi
Veebisaidi sisu, mis jääb lehtedel samaks, nimetatakse staatiliseks sisuks. Selle sisu vahemällu salvestamine võimaldab selle paigutada kergesti ligipääsetavatesse kohtadesse. See mehhanism vähendab ribalaiuse kasutamist, võimaldab kiiret juurdepääsu ja seejärel parandab veebisaidi jõudlust.
Kui klient taotleb staatilist sisu, teenindab server sisu vahemällu salvestatud versiooni. Lisage faili asetatud virtuaalsesse hostifaili järgmised read /etc/nginx/sites-available kataloog:
asukoht ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
aegub 90p;
}
See konfiguratsioon salvestab failid vahemällu 90 päeva jooksul alates viimasest brauseri juurdepääsuajast.
8. Lubage faili vahemälu avamine NGINX-is
Samuti saate NGINX-i konfiguratsioonifailis selle toimivuse parandamiseks kasutada avatud faili vahemälu parameetreid. See direktiiv võimaldab failideskriptori ja sageli külastatavate failide vahemällu salvestamist serverisse.
Lisage järgmised read http faili vahemälu avamise lubamiseks konfiguratsioonifailis:
http {
avatud_faili_vahemälu max=1024 passiivne=10s;
open_file_cache_valid 60s;
open_file_cache_min_uses 2;
open_file_cache_errors on;
}
Kasutage NGINX-i parimat, muutes selle konfiguratsioonifaile
Hea tava, mida konfiguratsioonide muutmisel järgida, on tegeleda ühe sättega korraga ja seda testida. Kui see töötab, liikuge järgmisele seadistusele. Kui ei, saate konfiguratsiooni alati vaikeväärtusele tagasi muuta.
Muutes NGINX-i konfiguratsioonifailides konfigureeritud parameetreid, näiteks nginx.conf ja virtuaalse hosti faile, saate häkkida NGINX-i, et pakkuda parimat jõudlust.