GNU/Linux >> Znalost Linux >  >> Linux

Filtrujte a optimalizujte požadavky na statické soubory pomocí NGINX na Ubuntu 18.04

NGINX je vysoce výkonný webový server používaný zejména ke správě statických souborů a jako reverzní proxy, který však lze díky své všestrannosti využít v jakékoli situaci.

V této příručce se dozvíte, jak filtrovat a optimalizovat požadavky na statické soubory pomocí NGINX, abyste zvýšili výkon svých webových stránek a snížili zatížení serveru pomocí některých triků, jako je povolení komprese Gzip, změna počet procesů / připojení nebo velikost vyrovnávacích pamětí.

Nejprve se připojte k serveru prostřednictvím připojení SSH. Pokud jste tak ještě neučinili, doporučujeme se podle našeho průvodce bezpečně připojit pomocí SSH. V případě lokálního serveru přejděte k dalšímu kroku a otevřete terminál svého serveru.

Úprava konfiguračních parametrů

Otevřete konfigurační soubor NGINX pomocí editoru, jako je nano nebo vi. V tomto příkladu bylo použito nano.

$ sudo nano /etc/nginx/nginx.conf

Povolení komprese Gzip

Povolením komprese Gzip lze snížit množství přenášených dat. Dávejte pozor, abyste příliš nezvýšili úroveň komprese Gzip, protože to může ovlivnit výkon CPU.

gzip             on;

gzip_comp_level  2;

gzip_min_length  1000;

gzip_proxied     expired no-cache no-store private auth;

gzip_types       text/plain application/x-javascript text/xml text/css application/xml;

Nastavení počtu procesů a připojení

Parametr ‘worker_processes’ odkazuje na počet procesů vytvořených NGINX po jeho spuštění. Počet procesů by se měl normálně rovnat počtu jader na serveru. Pokud má například server procesor se 4 jádry, parametr s hodnotou 4 musí být nastaven následovně:

worker_processes 4;

Parametr worker_connections odkazuje na počet klientů, kteří budou obsluhováni jedním procesem. Chcete-li nastavit optimální hodnotu pro konfiguraci, vše, co musíte udělat, je zkontrolovat limity vašich jader příkazem:

$ ulimit -n

Výsledkem bude maximální počet připojení na proces. Poté jej nastavte:

worker_processes 1024;

Změna velikosti vyrovnávacích pamětí

Pokud je velikost vyrovnávacích pamětí příliš malá, bude NGINX nucen vytvářet dočasné soubory, což způsobí četné diskové operace. Abyste tomu zabránili, nastavte správně velikost vyrovnávacích pamětí.

client_max_body_size:označuje maximální velikost požadavku klienta

client_body_buffer_size:odkazuje na velikost vyrovnávací paměti pro požadavky POST

client_header_buffer_size:odkazuje na velikost vyrovnávací paměti vzhledem k hlavičce požadavku klienta

Úpravou těchto parametrů na následující hodnoty byste měli získat dobrý výsledek:

client_max_body_size 8m;

client_body_buffer_size 10K;

client_header_buffer_size 1k;

Změna doby trvání mezipaměti

Chcete-li spravovat dobu trvání mezipaměti statických souborů, stačí zadat přípony souborů a jejich trvání tímto způsobem:

location ~*.(jpg|jpeg|png|gif|ico|css|js)$ {

expires 365d;

}

kde u 365d je specifikováno, že mezipaměť pro jeho rozšíření vydrží 365 dní.

Snížení časových limitů

Parametry client_body_timeout a client_header_timeout označují dobu čekání na tělo nebo hlavičku požadavku. Pokud server během této doby neobdrží tělo nebo záhlaví, \ připojení je ukončeno s chybou vypršení časového limitu.

Parametr send_timeout udává maximální dobu mezi dvěma operacemi čtení. pokud je tato doba překročena, NGINX ukončí spojení s klientem.

Parametr keepalive_timeout místo toho odkazuje na maximální dobu trvání připojení Keep-Alive před jeho ukončením.

Nastavením těchto hodnot následujícím způsobem by mělo být dosaženo dobrého výsledku:

client_body_timeout 12;

client_header_timeout 12;

send_timeout 10;

keepalive_timeout 15;

Deaktivace protokolů

NGINX monitoruje každý požadavek v souboru protokolu. Chcete-li tuto funkci zakázat, stačí změnit parametr access_log následovně:

access_log off;

Provádění změn

Restartujte službu NGINX, abyste provedli změny:

$ sudo service nginx restart

Linux
  1. Jak nainstalovat phpMyAdmin s HHVM, Nginx a MariaDB na Ubuntu 14.04 VPS

  2. Jak optimalizovat ukládání statických souborů Apache do mezipaměti na Ubuntu 18.04

  3. Nainstalujte phpMyAdmin na Ubuntu 20.04 s Nginx

  1. Nainstalujte Redmine na server Ubuntu 14.04 s MariaDB, Puma a Nginx.

  2. Nainstalujte WordPress s Varnish a Nginx na Ubuntu

  3. Jak nainstalovat Node.js s NVM a Nginx na Ubuntu 22.04

  1. Instalace Nginx na Ubuntu 14.04 a 16.04

  2. Nastavení serveru OpenVPN s Ubuntu a viskozitou

  3. Jak nastavit jednoduchou aplikaci nodejs s nginx a pm2 na serveru ubuntu