Kaip pakeisti limitus Nginx konfigūracijoje?
sobes.tech AI
Atsakymas iš AI
Nginx konfigūracijos limitus galima keisti redaguojant konfigūracijos failus, kurie paprastai yra kataloguose /etc/nginx/ arba /usr/local/nginx/conf/.
Štai dažniausiai naudojami limitai ir kaip juos keisti:
-
Užklausos kūno dydžio limitas (client_max_body_size): Nustato maksimalų leidžiamą užklausos kūno dydį. Svarbu failų įkėlimui.
# http, server arba location kontekste client_max_body_size 10M; # Pavyzdys: nustatyti limitą iki 10 megabaitų -
Jungčių skaičiaus limitas (worker_connections): Nustato maksimalų vienu metu galimų jungčių skaičių, kurį gali apdoroti vienas darbo procesas.
# events kontekste events { worker_connections 1024; # Pavyzdys: 1024 jungtys vienam procesui # kiti įvykio nustatymai... } -
Jungčių laukimo laiko limitas (keepalive_timeout): Nustato laiką, kurį keep-alive jungtis lieka atvira po paskutinio užklausos apdorojimo.
# http, server arba location kontekste keepalive_timeout 60s; # Pavyzdys: 60 sekundžių -
Laukiamo laiko limitas užklausos antraščių siuntimui (client_header_timeout): Laikas, kurį klientas turi siųsti užklausos antraštę. Jei per šį laiką nebus siųsta, jungtis bus uždaryta.
# http, server arba location kontekste client_header_timeout 60s; # Pavyzdys: 60 sekundžių -
Laukiamo laiko limitas užklausos kūno siuntimui (client_body_timeout): Laikas, kurį klientas turi siųsti užklausos kūną. Jei per šį laiką nebus siųsta, jungtis bus uždaryta.
# http, server arba location kontekste client_body_timeout 60s; # Pavyzdys: 60 sekundžių -
Atsakymo laukimo laiko limitas (proxy_read_timeout): Laikas, per kurį laukiama atsakymo iš proxy serverio.
# http, server arba location kontekste proxy_read_timeout 120s; # Pavyzdys: 120 sekundžių -
Atvirų failų limitas (worker_rlimit_nofile): Nustato maksimalų atvirų failų skaičių darbo procese. Svarbu daug jungčių.
# pagrindiniame kontekste worker_rlimit_nofile 65535; # Pavyzdys: 65535 failųPastaba: Šiam limitui gali prireikti konfigūruoti operacinės sistemos limitus (ulimit).
Žingsniai keisti:
- Nustatyti, kurį limitą reikia keisti ir kokiame kontekste jis taikomas (http, server, location, events, main).
- Rasti atitinkamą konfigūracijos failą (paprastai
nginx.confarba failusconf.d/arbasites-available/sites-enabled). - Pridėti arba pakeisti direktyvą su norima reikšme.
# Pavyzdys, pridėtas serverio bloke server { listen 80; server_name example.com; client_max_body_size 50M; # Šio serverio užklausos kūno limito keitimas location / { # ... } } - Patikrinti konfigūracijos sintaksę:
nginx -t - Perkrauti Nginx, kad taikyti pakeitimus:
sudo systemctl reload nginx # arba sudo service nginx reload
Keičiant limitus, svarbu suprasti jų paskirtį ir galimą poveikį našumui bei saugumui.