Lesere som deg er med på å støtte MUO. Når du foretar et kjøp ved å bruke lenker på nettstedet vårt, kan vi tjene en tilknyttet provisjon. Les mer.

NGINX er en populær, gratis og åpen kildekode-webserver. Standard NGINX-konfigurasjonene er gode nok til å få webserveren til å fungere.

Men hvis du vil bruke NGINX til det fulle, må du leke med konfigurasjonsfilene og stille inn parameterne som vil optimere serverens ytelse. Du finner konfigurasjonsfilene i /etc/nginx katalog på en Linux-maskin.

Hva er NGINX?

NGINX er en moderne webserver som du kan bruke som mediastreamer, e-postserver, omvendt proxy, lastbalanser, hurtigbufferserver og mer.

Brukt av mange store profiler som VMware, IBM, Cisco, Apple, Microsoft LinkedIn, Netflix, Facebook, Twitter, etc., er NGINX viden kjent for sin førsteklasses ytelse. En annen fordel med å bruke NGINX er at det er enkelt å konfigurere og lære.

Forutsetninger for å justere NGINX-ytelse på Linux

Du må tilfredsstille følgende krav før du begynner med NGINX-konfigurasjoner:

instagram viewer
  1. En NGINX-server distribuert og konfigurert på Linux
  2. En grunnleggende forståelse av NGINX og dets konfigurasjonsfiler

Hvis du oppfyller disse kravene, er du klar til å stille inn NGINX for optimal ytelse. La oss se hvordan du gjør det.

1. Konfigurer arbeidsprosesser i NGINX

NGINX-arkitektur består av én hovedprosess og flere arbeidsprosesser. Jobben til masterprosessen er å vurdere konfigurasjonen og administrere arbeidere. På den annen side er en arbeidsprosess rolle å håndtere innkommende forespørsler og skape en forbindelse mellom klienten og serveren.

Prosessverdien er satt til auto som standard. Dette setter antall arbeidsprosesser lik antall tilgjengelige CPU-kjerner. For å vite hvor mange CPU-kjerner som finnes i systemet ditt, kjør følgende kommando:

grep-prosessor /proc/cpuinfo | wc -l

Hvis du ønsker å øke antall arbeidsprosesser, må du konfigurere dette i NGINX-konfigurasjonsfilen.

Åpne filen med nano:

nano etc/nginx/nginx.conf

For å konfigurere flere arbeidsprosesser, endre standardverdien til maksimalt antall tilgjengelige CPU-kjerner i systemet.

2. Konfigurer arbeidertilkoblinger

En annen parameter som du kan endre for å forbedre ytelsen til NGINX er arbeidertilkoblinger. Dette er det maksimale antallet TCP-tilkoblinger som hver arbeidsprosess kan håndtere samtidig.

De fleste systemer har en standardverdi på 512 tilkoblinger, men mange moderne systemer støtter også et større antall. Du kan sjekke hvor mange tilkoblinger systemet ditt støtter med:

ulimit -n

Utgangen vil være det maksimale antallet tilkoblinger som støttes. Du kan deretter endre worker_connections variabel i NGINX-konfigurasjonsfilen for å forbedre ytelsen.

3. Tillat GZIP-komprimering i NGINX

NGINX bruker GZIP for filkomprimering og dekomprimering. Hvis aktivert i NGINX-konfigurasjonsfilen, kan du spare båndbredde og forbedre nettstedets lastetid når tilkoblingen er treg.

For å tillate GZIP-komprimering, legg til følgende linjer i NGINX-konfigurasjonsfilen:

server {
gzip på;
gzip_vary på;
gzip_min_length 10240;
gzip_proxied utløp no-cacheNei-butikkprivat auth;
gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/xml;
gzip_disable "MSIE [1-6]\.";
}

4. Begrens tidsavbruddsverdi i NGINX

Reduserte tidsavbruddsverdier spiller også en viktig rolle for å forbedre NGINX-ytelsen. De holde i live tilkoblinger reduserer prosessor- og nettverkskostnader når tilkoblinger åpnes og lukkes.

Du kan endre følgende parametere i konfigurasjonsfilen for å begrense tidsavbrudd:

http
{
client_body_timeout 12;
client_header_timeout 12;
keepalive_timeout 15;
send_timeout 10;
}

5. Juster bufferstørrelse

Du kan også justere NGINX-buffere for å optimalisere serverytelsen. Hvis bufferstørrelsen er for lav, vil NGINX skrive til en midlertidig fil som får enorme I/O-operasjoner til å kjøre konstant.

Du må angi følgende bufferparametere for at NGINX skal fungere på sitt beste:

http
{
client_body_buffer_size 10K;
client_header_buffer_size 1k;
client_max_body_size 8m;
large_client_header_buffers 4 4k;
}

6. Deaktiver tilgangslogger eller aktiver buffering av tilgangslogger

Logger bruker en stor mengde diskplass og CPU/IO-sykluser som kan påvirke serverens ytelse hvis den logger hver forespørsel.

Du kan deaktivere tilgangslogger som vil spare litt diskplass og CPU-behandling. For å deaktivere tilgangslogger, legg til følgende linje i NGINX-konfigurasjonsfilen:

tilgang_logg av;

Logger er viktige da de hjelper til med å feilsøke et problem. Å fullstendig deaktivere logger er ikke en god praksis. I dette tilfellet kan du aktivere bufring av tilgangslogger. Dette vil tillate NGINX å bufre en serie logger og skrive dem til loggfilen samtidig i stedet for å bruke forskjellige loggoperasjoner på hver forespørsel.

Legg til følgende linje i NGINX-konfigurasjonsfilen for å tillate buffering av tilgangslogger:

tilgangslogg/var/log/nginx/access.loghoved-buffer=16k

7. Juster statisk innholdsbufringsperiode i NGINX

Innholdet på nettstedet som forblir det samme på tvers av sidene, kalles statisk innhold. Bufring av dette innholdet gjør at det kan plasseres på steder som er lett tilgjengelige. Denne mekanismen reduserer båndbreddebruken, gir rask tilgjengelighet og forbedrer deretter nettstedets ytelse.

Når en klient ber om statisk innhold, vil serveren vise en bufret versjon av innholdet. Legg til følgende linjer i den virtuelle vertsfilen plassert i /etc/nginx/sites-available katalog:

plassering ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
utløper 90d;
}

Denne konfigurasjonen vil cache filene i 90 dager siden siste nettlesertilgangstidspunkt.

8. Aktiver Open File Cache i NGINX

Du kan også bruke åpne filbufferparametere i NGINX-konfigurasjonsfilen for å forbedre ytelsen. Dette direktivet lar filbeskrivelsen og ofte besøkte filer bufres til serveren.

Legg til følgende linjer i http delen i konfigurasjonsfilen for å aktivere åpen filbuffer:

http {
open_file_cache max=1024 inaktiv=10s;
open_file_cache_valid 60s;
open_file_cache_min_uses 2;
open_file_cache_errors på;
}

Få det beste ut av NGINX ved å endre konfigurasjonsfilene

En god praksis å følge når du endrer konfigurasjoner er å håndtere én innstilling om gangen og teste den. Hvis det fungerer, gå til neste innstilling. Hvis ikke, kan du alltid endre konfigurasjonen tilbake til standardverdien.

Ved å endre parametrene som er konfigurert i NGINX-konfigurasjonsfilene som f.eks nginx.conf og virtuelle vertsfiler, kan du hacke NGINX for å gi den beste ytelsen.