Ako zmeniť limity v konfigurácii Nginx?
sobes.tech AI
Odpoveď od AI
Zmena limitov v konfigurácii Nginx sa vykonáva úpravou konfiguračných súborov, ktoré sa zvyčajne nachádzajú v adresároch /etc/nginx/ alebo /usr/local/nginx/conf/.
Tu sú bežné limity a spôsoby ich zmeny:
-
Limit veľkosti tela požiadavky (client_max_body_size): Určuje maximálnu povolenú veľkosť tela požiadavky klienta. Dôležité pre nahrávanie súborov.
# V kontexte http, server alebo location client_max_body_size 10M; # Príklad: nastaviť limit na 10 megabajtov -
Limit počtu pripojení (worker_connections): Určuje maximálny počet súčasných pripojení, ktoré môže spracovať jeden pracovný proces.
# V kontexte events events { worker_connections 1024; # Príklad: 1024 pripojení na proces # ďalšie nastavenia udalostí... } -
Limit času čakania na spojenie (keepalive_timeout): Určuje dobu, počas ktorej keep-alive spojenie so zákazníkom zostáva otvorené po spracovaní poslednej požiadavky.
# V kontexte http, server alebo location keepalive_timeout 60s; # Príklad: 60 sekúnd -
Limit času čakania na odoslanie hlavičiek požiadavky (client_header_timeout): Čas čakania od klienta na odoslanie hlavičiek požiadavky. Ak ich neodošle v tomto čase, spojenie sa zatvorí.
# V kontexte http, server alebo location client_header_timeout 60s; # Príklad: 60 sekúnd -
Limit času čakania na odoslanie tela požiadavky (client_body_timeout): Čas čakania od klienta na odoslanie tela požiadavky. Ak ho neodošle v tomto čase, spojenie sa zatvorí.
# V kontexte http, server alebo location client_body_timeout 60s; # Príklad: 60 sekúnd -
Limit času čakania na odpoveď od proxy servera (proxy_read_timeout): Čas čakania na získanie odpovede od proxy servera.
# V kontexte http, server alebo location proxy_read_timeout 120s; # Príklad: 120 sekúnd -
Limit otvorených súborov (worker_rlimit_nofile): Nastavuje maximálny počet otvorených súborov pre pracovný proces. Dôležité pre veľký počet spojení.
# V hlavnom kontexte worker_rlimit_nofile 65535; # Príklad: 65535 súborovPoznámka: Pre tento limit môže byť potrebné aj nastavenie limitov na úrovni operačného systému (ulimit).
Kroky na zmenu:
- **Určte, ktorý limit je potrebné zmeniť, a v akom kontexte (http, server, location, events, main).
- Nájdite príslušný konfiguračný súbor (zvyčajne
nginx.confalebo súbory vconf.d/alebosites-available/sites-enabled). - Pridajte alebo upravte direktívu s požadovanou hodnotou.
# Príklad pridania do server bloku server { listen 80; server_name example.com; client_max_body_size 50M; # Zmena limitu tela požiadavky pre tento server location / { # ... } } - Skontrolujte syntax konfigurácie:
nginx -t - Reštartujte Nginx na aplikáciu zmien:
sudo systemctl reload nginx # alebo sudo service nginx reload
Pri zmene limitov je dôležité pochopiť ich účel a potenciálny vplyv na výkon a bezpečnosť.