Läsare som du hjälper till att stödja MUO. När du gör ett köp med hjälp av länkar på vår webbplats kan vi tjäna en affiliate-provision. Läs mer.

NGINX är en populär, gratis webbserver med öppen källkod. Standard NGINX-konfigurationerna är tillräckligt bra för att få webbservern att fungera.

Men om du vill använda NGINX till fullo måste du leka med dess konfigurationsfiler och ställa in parametrarna som kommer att optimera serverns prestanda. Du hittar konfigurationsfilerna i /etc/nginx katalog på en Linux-maskin.

Vad är NGINX?

NGINX är en modern webbserver som du kan använda som mediastreamer, e-postserver, omvänd proxy, lastbalanserare, cacheserver och mer.

Används av många stora profiler som VMware, IBM, Cisco, Apple, Microsoft LinkedIn, Netflix, Facebook, Twitter, etc., är NGINX allmänt känt för sin förstklassiga prestanda. En annan fördel med att använda NGINX är att det är lätt att konfigurera och lära sig.

Förutsättningar för att ställa in NGINX-prestanda på Linux

Du måste uppfylla följande krav innan du börjar med NGINX-konfigurationer:

instagram viewer
  1. En NGINX-server distribuerad och konfigurerad på Linux
  2. En grundläggande förståelse för NGINX och dess konfigurationsfiler

Om du uppfyller dessa krav är du redo att ställa in NGINX för optimal prestanda. Låt oss se hur man gör det.

1. Konfigurera arbetsprocesser i NGINX

NGINX-arkitekturen består av en huvudprocess och flera arbetsprocesser. Huvudprocessens uppgift är att utvärdera konfigurationen och hantera arbetare. Å andra sidan är en arbetsprocess roll att hantera inkommande förfrågningar och skapa en koppling mellan klienten och servern.

Processvärdet är satt till bil som standard. Detta ställer in antalet arbetsprocesser lika med antalet tillgängliga CPU-kärnor. För att veta hur många CPU-kärnor som finns i ditt system, kör följande kommando:

grep-processor /proc/cpuinfo | wc -l

Om du vill öka antalet arbetsprocesser måste du konfigurera detta i NGINX-konfigurationsfilen.

Öppna filen med nano:

nano etc/nginx/nginx.conf

För att konfigurera fler arbetsprocesser, ändra standardvärdet till det maximala antalet tillgängliga CPU-kärnor i ditt system.

2. Konfigurera arbetaranslutningar

En annan parameter som du kan ändra för att förbättra NGINX: s prestanda är arbetaranslutningar. Detta är det maximala antalet TCP-anslutningar som varje arbetsprocess kan hantera samtidigt.

De flesta system har ett standardvärde på 512 anslutningar, men många moderna system stöder också ett större antal. Du kan kontrollera hur många anslutningar ditt system stöder med:

ulimit -n

Utgången kommer att vara det maximala antalet anslutningar som stöds. Du kan sedan ändra worker_connections variabel i NGINX-konfigurationsfilen för att förbättra prestandan.

3. Tillåt GZIP-komprimering i NGINX

NGINX använder GZIP för filkomprimering och dekomprimering. Om det är aktiverat i NGINX-konfigurationsfilen kan du spara bandbredd och förbättra webbplatsens laddningstid när anslutningen är långsam.

För att tillåta GZIP-komprimering, lägg till följande rader i NGINX-konfigurationsfilen:

server {
gzip på;
gzip_vary på;
gzip_min_length 10240;
gzip_proxied gick ut no-cacheNej-Lagraprivat auth;
gzip_types text/oformaterad text/css text/xml text/javascript application/x-javascript application/xml;
gzip_disable "MSIE [1-6]\.";
}

4. Begränsa timeout-värde i NGINX

Reducerade timeout-värden spelar också en viktig roll för att förbättra NGINX-prestandan. De håll vid liv anslutningar minskar processor- och nätverkskostnader när anslutningar öppnas och stängs.

Du kan ändra följande parametrar i konfigurationsfilen för att begränsa tidsgränserna:

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

5. Justera buffertstorleken

Du kan också justera NGINX-buffertar för att optimera serverns prestanda. Om buffertstorleken är för låg kommer NGINX att skriva till en temporär fil som gör att enorma I/O-operationer körs konstant.

Du måste ställa in följande buffertparametrar för att NGINX ska fungera som bäst:

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

6. Inaktivera åtkomstloggar eller aktivera buffring av åtkomstloggar

Loggar förbrukar en stor mängd diskutrymme och CPU/IO-cykler som kan påverka serverns prestanda om den loggar varje begäran.

Du kan inaktivera åtkomstloggar vilket kommer att spara lite diskutrymme och CPU-bearbetning. För att inaktivera åtkomstloggar, lägg till följande rad i NGINX-konfigurationsfilen:

access_log off;

Loggar är viktiga eftersom de hjälper till att felsöka ett problem. Att helt inaktivera loggar är inte en bra praxis. I det här fallet kan du aktivera buffring av åtkomstloggar. Detta gör att NGINX kan buffra en serie loggar och skriva dem till loggfilen samtidigt istället för att tillämpa olika loggoperationer på varje begäran.

Lägg till följande rad i NGINX-konfigurationsfilen för att tillåta buffring av åtkomstloggar:

access_log/var/log/nginx/access.loghuvudbuffert=16k

7. Justera statiskt innehållscacheperiod i NGINX

Innehållet på webbplatsen som förblir detsamma på alla sidor kallas statiskt innehåll. Cachning av detta innehåll gör att det kan placeras på platser som är lättillgängliga. Denna mekanism minskar bandbreddsanvändningen, möjliggör snabb åtkomst och förbättrar sedan webbplatsens prestanda.

När en klient begär statiskt innehåll kommer servern att visa en cachad version av innehållet. Lägg till följande rader i den virtuella värdfilen som är placerad i /etc/nginx/sites-available katalog:

plats ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
går ut 90d;
}

Den här konfigurationen cachelagrar filerna i 90 dagar sedan den senaste webbläsarens åtkomsttid.

8. Aktivera Open File Cache i NGINX

Du kan också använda parametrar för öppen filcache i NGINX-konfigurationsfilen för att förbättra dess prestanda. Detta direktiv tillåter att filbeskrivningen och ofta besökta filer cachelagras till servern.

Lägg till följande rader i http avsnittet i konfigurationsfilen för att aktivera öppen filcache:

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å ut det bästa av NGINX genom att ändra dess konfigurationsfiler

En bra praxis att följa när du ändrar konfigurationer är att hantera en inställning i taget och testa den. Om det fungerar, gå till nästa inställning. Om inte kan du alltid ändra konfigurationen tillbaka till standardvärdet.

Genom att modifiera parametrarna som konfigurerats i NGINX-konfigurationsfilerna som t.ex nginx.conf och virtuella värdfiler kan du hacka NGINX för att ge bästa prestanda.