Wie ändert man die Limits in der Nginx-Konfiguration?
sobes.tech KI
Antwort von AI
Die Grenzen in der Nginx-Konfiguration können durch Bearbeiten der Konfigurationsdateien geändert werden, die sich in der Regel in den Verzeichnissen /etc/nginx/ oder /usr/local/nginx/conf/ befinden.
Hier sind die gängigen Grenzen und wie man sie ändert:
-
Grenze für die Größe des Anfragekörpers (client_max_body_size): Legt die maximal zulässige Größe des Anfragekörpers des Clients fest. Wichtig für Datei-Uploads.
# Im Kontext von http, server oder location client_max_body_size 10M; # Beispiel: Grenze auf 10 Megabyte setzen -
Grenze für die Anzahl der Verbindungen (worker_connections): Bestimmt die maximale Anzahl gleichzeitiger Verbindungen, die ein Worker-Prozess verarbeiten kann.
# Im Kontext von events events { worker_connections 1024; # Beispiel: 1024 Verbindungen pro Prozess # andere Event-Einstellungen... } -
Grenze für die Wartezeit auf eine Verbindung (keepalive_timeout): Legt die Zeit fest, während der die Keep-Alive-Verbindung mit dem Client nach der letzten Anfrage offen bleibt.
# Im Kontext von http, server oder location keepalive_timeout 60s; # Beispiel: 60 Sekunden -
Grenze für die Wartezeit beim Senden der Anfrage-Header (client_header_timeout): Wartezeit, bis der Client den Anfrage-Header sendet. Wenn der Client den Header in dieser Zeit nicht sendet, wird die Verbindung geschlossen.
# Im Kontext von http, server oder location client_header_timeout 60s; # Beispiel: 60 Sekunden -
Grenze für die Wartezeit beim Senden des Anfragekörpers (client_body_timeout): Wartezeit, bis der Client den Anfragekörper sendet. Wenn der Client den Körper in dieser Zeit nicht sendet, wird die Verbindung geschlossen.
# Im Kontext von http, server oder location client_body_timeout 60s; # Beispiel: 60 Sekunden -
Grenze für die Wartezeit auf die Antwort des Proxy-Servers (proxy_read_timeout): Wartezeit, um die Antwort vom Proxy-Server zu erhalten.
# Im Kontext von http, server oder location proxy_read_timeout 120s; # Beispiel: 120 Sekunden -
Grenze für offene Dateien (worker_rlimit_nofile): Legt die maximale Anzahl offener Dateien für den Worker-Prozess fest. Wichtig bei vielen Verbindungen.
# Im Kontext main (Hauptkontext) worker_rlimit_nofile 65535; # Beispiel: 65535 DateienHinweis: Für diese Grenze kann es auch notwendig sein, die Systemgrenzen (ulimit) entsprechend anzupassen.
Schritte zur Änderung:
- Bestimmen, welcher Grenzwert geändert werden soll und in welchem Kontext (http, server, location, events, main).
- Das entsprechende Konfigurationsdatei finden (meist
nginx.confoder Dateien inconf.d/odersites-available/sites-enabled). - Die Direktive mit dem gewünschten Wert hinzufügen oder ändern.
# Beispiel für das Hinzufügen im Server-Block server { listen 80; server_name example.com; client_max_body_size 50M; # Änderung des Anfragekörpers für diesen Server location / { # ... } } - Syntax der Konfiguration überprüfen:
nginx -t - Nginx neu laden, um die Änderungen anzuwenden:
sudo systemctl reload nginx # oder sudo service nginx reload
Beim Ändern der Grenzen ist es wichtig, ihre Bedeutung und die potenziellen Auswirkungen auf Leistung und Sicherheit zu verstehen.