Jak zmienić limity w konfiguracji Nginx?
sobes.tech AI
Odpowiedź od AI
Limity w konfiguracji Nginx można zmienić, edytując pliki konfiguracyjne, zwykle znajdujące się w katalogach /etc/nginx/ lub /usr/local/nginx/conf/.
Oto typowe limity i sposoby ich zmiany:
-
Limit rozmiaru ciała żądania (client_max_body_size): Ustawia maksymalny dozwolony rozmiar ciała żądania klienta. Ważne przy przesyłaniu plików.
# W kontekście http, server lub location client_max_body_size 10M; # Przykład: ustaw limit na 10 megabajtów -
Limit liczby połączeń (worker_connections): Definiuje maksymalną liczbę jednoczesnych połączeń, które może obsługiwać proces roboczy.
# W kontekście events events { worker_connections 1024; # Przykład: 1024 połączenia na proces # inne ustawienia zdarzeń... } -
Limit czasu oczekiwania na połączenie (keepalive_timeout): Ustawia czas, przez jaki połączenie keep-alive z klientem pozostaje otwarte po obsłudze ostatniego żądania.
# W kontekście http, server lub location keepalive_timeout 60s; # Przykład: 60 sekund -
Limit czasu oczekiwania na wysłanie nagłówków żądania (client_header_timeout): Czas oczekiwania na wysłanie nagłówka żądania przez klienta. Jeśli nie zostanie wysłany w tym czasie, połączenie zostanie zamknięte.
# W kontekście http, server lub location client_header_timeout 60s; # Przykład: 60 sekund -
Limit czasu oczekiwania na wysłanie ciała żądania (client_body_timeout): Czas oczekiwania na wysłanie ciała żądania przez klienta. Jeśli nie zostanie wysłane w tym czasie, połączenie zostanie zamknięte.
# W kontekście http, server lub location client_body_timeout 60s; # Przykład: 60 sekund -
Limit czasu oczekiwania na odpowiedź serwera proxy (proxy_read_timeout): Czas oczekiwania na otrzymanie odpowiedzi od serwera proxy.
# W kontekście http, server lub location proxy_read_timeout 120s; # Przykład: 120 sekund -
Limit otwartych plików (worker_rlimit_nofile): Ustawia maksymalną liczbę otwartych plików dla procesu roboczego. Ważne przy dużej liczbie połączeń.
# W kontekście main (główny kontekst) worker_rlimit_nofile 65535; # Przykład: 65535 plikówUwaga: Dla tego limitu może być również konieczne skonfigurowanie limitów na poziomie systemu operacyjnego (ulimit).
Kroki do zmiany:
- Określić, który limit należy zmienić i w jakim kontekście (http, server, location, events, main).
- Znaleźć odpowiedni plik konfiguracyjny (zwykle
nginx.conflub pliki wconf.d/lubsites-available/sites-enabled). - Dodać lub zmodyfikować dyrektywę z odpowiednią wartością.
# Przykład dodania w bloku server server { listen 80; server_name example.com; client_max_body_size 50M; # Zmiana limitu ciała żądania dla tego serwera location / { # ... } } - Sprawdzić składnię konfiguracji:
nginx -t - Przeładować Nginx, aby zastosować zmiany:
sudo systemctl reload nginx # lub sudo service nginx reload
Podczas zmiany limitów ważne jest zrozumienie ich celu i potencjalnego wpływu na wydajność i bezpieczeństwo.