Lezers zoals jij steunen MUO. Wanneer u een aankoop doet via links op onze site, kunnen we een aangesloten commissie verdienen. Lees verder.

NGINX is een populaire, gratis en open-source webserver. De standaard NGINX-configuraties zijn goed genoeg om de webserver aan de praat te krijgen.

Als u NGINX echter ten volle wilt gebruiken, moet u met de configuratiebestanden spelen en de parameters instellen die de prestaties van de server optimaliseren. U vindt de configuratiebestanden in de /etc/nginx directory op een Linux-machine.

Wat is NGINX?

NGINX is een moderne webserver die je kunt gebruiken als mediastreamer, mailserver, omgekeerde proxy, load balancer, cacheserver en meer.

Gebruikt door veel grote profielen zoals VMware, IBM, Cisco, Apple, Microsoft LinkedIn, Netflix, Facebook, Twitter, etc., staat NGINX algemeen bekend om zijn eersteklas prestaties. Een ander voordeel van het gebruik van NGINX is dat het eenvoudig te configureren en te leren is.

Vereisten om NGINX-prestaties af te stemmen op Linux

instagram viewer

U moet aan de volgende vereisten voldoen voordat u begint met NGINX-configuraties:

  1. Een NGINX-server geïmplementeerd en geconfigureerd op Linux
  2. Een basiskennis van NGINX en zijn configuratiebestanden

Als u aan deze vereisten voldoet, bent u klaar om NGINX af te stemmen voor optimale prestaties. Laten we eens kijken hoe het moet.

1. Configureer werkprocessen in NGINX

De NGINX-architectuur bestaat uit één hoofdproces en verschillende werkprocessen. De taak van het hoofdproces is om de configuratie te beoordelen en werknemers te beheren. Aan de andere kant is de rol van een werkproces het afhandelen van inkomende verzoeken en het tot stand brengen van een verbinding tussen de client en de server.

De proceswaarde is ingesteld op auto standaard. Dit stelt het aantal werkprocessen gelijk aan het aantal beschikbare CPU-kernen. Voer de volgende opdracht uit om te weten hoeveel CPU-kernen er in uw systeem aanwezig zijn:

grep-processor /proc/cpuinfo | wc -l

Als u het aantal werkprocessen wilt verhogen, moet u dit configureren in het NGINX-configuratiebestand.

Open het bestand met nano:

nano etc/nginx/nginx.conf

Als u meer werkprocessen wilt configureren, wijzigt u de standaardwaarde in het maximum aantal beschikbare CPU-kernen in uw systeem.

2. Worker-verbindingen configureren

Een andere parameter die u kunt wijzigen om de prestaties van NGINX te verbeteren, zijn werkerverbindingen. Dit is het maximale aantal TCP-verbindingen dat elk werkproces tegelijkertijd kan verwerken.

De meeste systemen hebben een standaardwaarde van 512 verbindingen, maar veel moderne systemen ondersteunen ook een groter aantal. U kunt controleren hoeveel verbindingen uw systeem ondersteunt met:

limiet -N

De uitvoer is het maximale aantal ondersteunde verbindingen. U kunt dan de werknemer_verbindingen variabele in het NGINX-configuratiebestand om de prestaties te verbeteren.

3. Sta GZIP-compressie toe in NGINX

NGINX gebruikt GZIP voor bestandscompressie en decompressie. Indien ingeschakeld in het NGINX-configuratiebestand, kunt u bandbreedte besparen en de laadtijd van de website verbeteren wanneer de verbinding traag is.

Om GZIP-compressie toe te staan, voegt u de volgende regels toe aan het NGINX-configuratiebestand:

server {
zip aan;
gzip_variëren op;
gzip_min_length 10240;
gzip_proxied verlopen nee-cacheNee-winkelprivaat authentiseren;
gzip_types tekst/platte tekst/css-tekst/xml tekst/javascript-toepassing/x-javascript-toepassing/xml;
gzip_disable "MSIE [1-6]\.";
}

4. Limiet time-outwaarde in NGINX

Verminderde time-outwaarden spelen ook een belangrijke rol bij het verbeteren van de NGINX-prestaties. De in leven houden verbindingen verminderen de processor- en netwerkoverhead bij het openen en sluiten van verbindingen.

U kunt de volgende parameters in het configuratiebestand wijzigen om time-outs te beperken:

http
{
client_body_timeout 12;
client_header_time-out 12;
keepalive_timeout 15;
verzendtijd 10;
}

5. Buffergrootte aanpassen

U kunt ook NGINX-buffers aanpassen om de serverprestaties te optimaliseren. Als de buffergrootte te klein is, schrijft NGINX naar een tijdelijk bestand dat ervoor zorgt dat enorme I/O-bewerkingen constant worden uitgevoerd.

U moet de volgende bufferparameters instellen om NGINX optimaal te laten functioneren:

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

6. Toegangslogboeken uitschakelen of Buffering van toegangslogboeken inschakelen

Logboeken verbruiken een grote hoeveelheid schijfruimte en CPU/IO-cycli die van invloed kunnen zijn op de prestaties van de server als elke aanvraag wordt geregistreerd.

U kunt toegangslogboeken uitschakelen, wat schijfruimte en CPU-verwerking bespaart. Om toegangslogboeken uit te schakelen, voegt u de volgende regel toe aan het NGINX-configuratiebestand:

toegang_uitloggen;

Logboeken zijn belangrijk omdat ze helpen bij het oplossen van een probleem. Logboeken volledig uitschakelen is geen goede gewoonte. In dit geval kunt u buffering van toegangslogboeken inschakelen. Hierdoor kan NGINX een reeks logs bufferen en ze samen in één keer naar het logbestand schrijven in plaats van verschillende logbewerkingen op elk verzoek uit te voeren.

Voeg de volgende regel toe aan het NGINX-configuratiebestand om buffering van toegangslogboeken mogelijk te maken:

toegang_log/var/log/nginx/access.logvoornaamstbuffer=16k

7. Pas de cachingperiode voor statische inhoud aan in NGINX

De inhoud op de website die op alle pagina's hetzelfde blijft, wordt statische inhoud genoemd. Door deze inhoud in cache te plaatsen, kan deze op gemakkelijk toegankelijke locaties worden geplaatst. Dit mechanisme vermindert het bandbreedtegebruik, maakt snelle toegankelijkheid mogelijk en verbetert vervolgens de prestaties van de website.

Wanneer een client statische inhoud opvraagt, zal de server een gecachte versie van de inhoud aanbieden. Voeg de volgende regels toe aan het virtuele hostbestand dat in de /etc/nginx/sites-available map:

locatie ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
verloopt 90d;
}

Deze configuratie zal de bestanden gedurende 90 dagen sinds de laatste browsertoegangstijd in de cache opslaan.

8. Schakel Open bestandscache in NGINX in

U kunt ook open bestandscacheparameters in het NGINX-configuratiebestand gebruiken om de prestaties te verbeteren. Met deze richtlijn kunnen de bestandsdescriptor en veelbezochte bestanden naar de server worden gecached.

Voeg de volgende regels toe aan de http sectie in het configuratiebestand om open bestandscache in te schakelen:

http {
open_file_cache max=1024 inactief=10s;
open_file_cache_valid 60s;
open_file_cache_min_uses 2;
open_file_cache_errors aan;
}

Haal het beste uit NGINX door de configuratiebestanden aan te passen

Een goede gewoonte om te volgen bij het wijzigen van configuraties is om met één instelling tegelijk om te gaan en deze te testen. Als het werkt, gaat u naar de volgende instelling. Zo niet, dan kunt u de configuratie altijd terugzetten naar de standaardwaarde.

Door de parameters te wijzigen die zijn geconfigureerd in de NGINX-configuratiebestanden, zoals nginx.conf en virtuele hostbestanden, kunt u NGINX hacken voor de beste prestaties.