Jak změnit limity v konfiguraci Nginx?
sobes.tech AI
Odpověď od AI
Změna limitů v konfiguraci Nginx se provádí úpravou konfiguračních souborů, které se obvykle nacházejí v adresářích /etc/nginx/ nebo /usr/local/nginx/conf/.
Zde jsou běžné limity a způsoby jejich změny:
-
Limit velikosti těla požadavku (client_max_body_size): Určuje maximální povolenou velikost těla požadavku klienta. Důležité pro nahrávání souborů.
# V kontextu http, server nebo location client_max_body_size 10M; # Příklad: nastavit limit na 10 megabajtů -
Limit počtu připojení (worker_connections): Určuje maximální počet současných připojení, která může zpracovat jeden pracovní proces.
# V kontextu events events { worker_connections 1024; # Příklad: 1024 připojení na proces # další nastavení událostí... } -
Limit doby čekání na spojení (keepalive_timeout): Určuje dobu, po kterou zůstává spojení keep-alive otevřené po zpracování posledního požadavku.
# V kontextu http, server nebo location keepalive_timeout 60s; # Příklad: 60 sekund -
Limit doby čekání na odeslání hlaviček požadavku (client_header_timeout): Čas čekání od klienta na odeslání hlaviček požadavku. Pokud je překročen, spojení se uzavře.
# V kontextu http, server nebo location client_header_timeout 60s; # Příklad: 60 sekund -
Limit doby čekání na odeslání těla požadavku (client_body_timeout): Čas čekání od klienta na odeslání těla požadavku. Pokud je překročen, spojení se uzavře.
# V kontextu http, server nebo location client_body_timeout 60s; # Příklad: 60 sekund -
Limit doby čekání na odpověď od proxy serveru (proxy_read_timeout): Čas čekání na odpověď od proxy serveru.
# V kontextu http, server nebo location proxy_read_timeout 120s; # Příklad: 120 sekund -
Limit otevřených souborů (worker_rlimit_nofile): Nastavuje maximální počet otevřených souborů pro pracovní proces. Důležité pro velké množství spojení.
# V hlavním kontextu worker_rlimit_nofile 65535; # Příklad: 65535 souborůPoznámka: Pro tento limit může být také potřeba upravit limity na úrovni operačního systému (ulimit).
Kroky ke změně:
- **Určete, který limit je třeba změnit, a v jakém kontextu (http, server, location, events, main).
- Najděte odpovídající konfigurační soubor (obvykle
nginx.confnebo soubory vconf.d/nebosites-available/sites-enabled). - Přidejte nebo změňte direktivu s požadovanou hodnotou.
# Příklad přidání do server bloku server { listen 80; server_name example.com; client_max_body_size 50M; # Změna limitu těla požadavku pro tento server location / { # ... } } - Ověřte syntaxi konfigurace:
nginx -t - Restartujte Nginx pro aplikaci změn:
sudo systemctl reload nginx # nebo sudo service nginx reload
Při změně limitů je důležité pochopit jejich účel a potenciální dopad na výkon a bezpečnost.