NGINX je populární, bezplatný a open source webový server. Výchozí konfigurace NGINX jsou dost dobré na to, aby webový server fungoval.
Pokud však chcete NGINX využívat naplno, musíte si pohrát s jeho konfiguračními soubory a nastavit parametry, které optimalizují výkon serveru. Konfigurační soubory najdete v /etc/nginx adresář na počítači se systémem Linux.
Co je NGINX?
NGINX je moderní webový server, který můžete použít jako streamer médií, poštovní server, reverzní proxy, load balancer, cache server a další.
NGINX, který používá mnoho velkých profilů, jako jsou VMware, IBM, Cisco, Apple, Microsoft LinkedIn, Netflix, Facebook, Twitter atd., je široce známý pro svůj špičkový výkon. Další výhodou používání NGINX je, že se snadno konfiguruje a učí.
Předpoklady pro vyladění výkonu NGINX v systému Linux
Než začnete s konfiguracemi NGINX, musíte splnit následující požadavky:
- Server NGINX nasazený a nakonfigurovaný v systému Linux
- Základní pochopení NGINX a jeho konfiguračních souborů
Pokud splňujete tyto požadavky, jste připraveni vyladit NGINX pro optimální výkon. Podívejme se, jak na to.
1. Nakonfigurujte pracovní procesy v NGINX
Architektura NGINX se skládá z jednoho hlavního procesu a několika pracovních procesů. Úkolem hlavního procesu je posoudit konfiguraci a řídit pracovníky. Na druhou stranu, úlohou pracovního procesu je vypořádat se s příchozími požadavky a vytvořit spojení mezi klientem a serverem.
Procesní hodnota je nastavena na auto ve výchozím stavu. Tím se nastaví počet pracovních procesů rovný počtu dostupných jader CPU. Chcete-li zjistit, kolik jader CPU je ve vašem systému, spusťte následující příkaz:
grep procesor /proc/cpuinfo | wc -l
Pokud chcete zvýšit počet pracovních procesů, musíte to nakonfigurovat v konfiguračním souboru NGINX.
Otevřete soubor pomocí nano:
nano etc/nginx/nginx.conf
Chcete-li nakonfigurovat více pracovních procesů, změňte výchozí hodnotu na maximální počet dostupných jader CPU ve vašem systému.
2. Konfigurace připojení pracovníků
Dalším parametrem, který můžete upravit, abyste zvýšili výkon NGINX, jsou pracovní připojení. Toto je maximální počet připojení TCP, které může každý pracovní proces současně zpracovat.
Většina systémů má výchozí hodnotu 512 připojení, ale mnoho moderních systémů podporuje i větší počet. Můžete zkontrolovat, kolik připojení váš systém podporuje:
ulimit -n
Výstupem bude maximální počet podporovaných připojení. Poté můžete upravit worker_connections proměnnou v konfiguračním souboru NGINX ke zlepšení výkonu.
3. Povolit kompresi GZIP v NGINX
NGINX používá GZIP pro kompresi a dekompresi souborů. Pokud je povoleno v konfiguračním souboru NGINX, můžete ušetřit šířku pásma a zvýšit dobu načítání webu, když je připojení pomalé.
Chcete-li povolit kompresi GZIP, přidejte do konfiguračního souboru NGINX následující řádky:
server {
gzip zapnutý;
gzip_vary on;
gzip_min_length 10240;
gzip_proxed vypršela ne-mezipamětiNe-obchodsoukromé auth;
gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/xml;
gzip_disable "MSIE [1-6]\.";
}
4. Limit hodnoty časového limitu v NGINX
Snížené hodnoty časového limitu také hrají hlavní roli při zvyšování výkonu NGINX. The udržet naživu připojení snižují režii procesoru a sítě při otevírání a zavírání připojení.
Chcete-li omezit časové limity, můžete upravit následující parametry v konfiguračním souboru:
http
{
klient_tělo_timeout 12;
client_header_timeout 12;
keepalive_timeout 15;
send_timeout 10;
}
5. Upravit velikost vyrovnávací paměti
Můžete také upravit vyrovnávací paměti NGINX pro optimalizaci výkonu serveru. Pokud je velikost vyrovnávací paměti příliš nízká, NGINX zapíše do dočasného souboru, který způsobí neustálé spouštění velkých I/O operací.
Aby NGINX fungoval co nejlépe, musíte nastavit následující parametry vyrovnávací paměti:
http
{
client_body_buffer_size 10K;
client_header_buffer_size 1k;
client_max_body_velikost 8m;
large_client_header_buffers 4 4k;
}
6. Zakázat protokoly přístupu nebo povolit ukládání protokolů přístupu do vyrovnávací paměti
Protokoly spotřebovávají velké množství místa na disku a cyklů CPU/IO, což může ovlivnit výkon serveru, pokud protokoluje každý požadavek.
Můžete zakázat přístupové protokoly, což ušetří místo na disku a zpracování CPU. Chcete-li zakázat protokoly přístupu, přidejte do konfiguračního souboru NGINX následující řádek:
access_log off;
Protokoly jsou důležité, protože pomáhají při řešení problému. Úplné zakázání protokolů není dobrý postup. V tomto případě můžete povolit ukládání protokolů přístupu do vyrovnávací paměti. To umožní NGINX ukládat do vyrovnávací paměti řadu protokolů a zapisovat je do souboru protokolu společně najednou namísto použití různých operací protokolu na každý požadavek.
Přidejte následující řádek do konfiguračního souboru NGINX, abyste povolili ukládání protokolů přístupu do vyrovnávací paměti:
přístupový_log/var/log/nginx/access.loghlavníbuffer = 16k
7. Upravte období mezipaměti statického obsahu v NGINX
Obsah webu, který zůstává na všech stránkách stejný, se nazývá statický obsah. Ukládání tohoto obsahu do mezipaměti umožňuje jeho umístění na místa, která jsou snadno dostupná. Tento mechanismus snižuje využití šířky pásma, umožňuje rychlou dostupnost a následně zlepšuje výkon webu.
Když klient požaduje statický obsah, server poskytne verzi obsahu uloženou v mezipaměti. Přidejte následující řádky do souboru virtuálního hostitele umístěného v /etc/nginx/sites-available adresář:
umístění ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
vyprší 90d;
}
Tato konfigurace uloží soubory do mezipaměti po dobu 90 dnů od posledního přístupu prohlížeče.
8. Povolte Open File Cache v NGINX
Můžete také použít parametry otevřené mezipaměti souborů v konfiguračním souboru NGINX ke zvýšení jeho výkonu. Tato direktiva umožňuje ukládat deskriptor souboru a často navštěvované soubory do mezipaměti serveru.
Přidejte následující řádky do http sekce v konfiguračním souboru pro povolení otevření mezipaměti souborů:
http {
open_file_cache max=1024 neaktivní=10s;
open_file_cache_valid 60s;
open_file_cache_min_uses 2;
open_file_cache_errors on;
}
Získejte to nejlepší z NGINX úpravou jeho konfiguračních souborů
Osvědčeným postupem při změně konfigurací je zabývat se jedním nastavením po druhém a otestovat je. Pokud to funguje, přejděte k dalšímu nastavení. Pokud ne, vždy můžete změnit konfiguraci zpět na výchozí hodnotu.
Úpravou parametrů nakonfigurovaných v konfiguračních souborech NGINX, jako je např nginx.conf a soubory virtuálního hostitele, můžete hacknout NGINX, abyste poskytli nejlepší výkon.