Problem: Begrenzungen der Dateigröße für Uploads in Nginx
Nginx, ein Webserver, hat standardmäßig Begrenzungen für die Größe von Datei-Uploads, die große Dateiübertragungen verhindern können. Diese Begrenzung kann Probleme verursachen, wenn große Dokumente, Mediendateien oder Datensätze über Webanwendungen auf Nginx-Servern hochgeladen werden sollen.
Auffinden der Nginx-Konfigurationsdatei
Häufige Speicherorte der Nginx-Konfigurationsdatei
Die Nginx-Konfigurationsdatei befindet sich normalerweise an einem dieser Orte:
- /etc/nginx/nginx.conf
- /usr/local/nginx/conf/nginx.conf
Dies sind die Standardpfade für die Haupt-Nginx-Konfigurationsdatei. Der genaue Speicherort kann je nach Installationsmethode von Nginx und Ihrem Betriebssystem variieren.
Tipp: Paketmanager überprüfen
Wenn Sie Nginx mit einem Paketmanager wie apt oder yum installiert haben, können Sie den Speicherort der Konfigurationsdatei oft durch Überprüfen der Paketinformationen finden. Zum Beispiel können Sie auf Ubuntu- oder Debian-Systemen Folgendes verwenden:
dpkg -L nginx | grep nginx.conf
Dieser Befehl listet alle vom Nginx-Paket installierten Dateien auf und filtert nach der nginx.conf-Datei.
Fehlerbehebung bei fehlenden Konfigurationsdateien
Wenn Sie die Nginx-Konfigurationsdatei nicht an den erwarteten Stellen finden können, versuchen Sie diese Schritte:
-
Nginx-Installation überprüfen: Führen Sie
nginx -v
aus, um zu überprüfen, ob Nginx installiert ist und um die Version zu sehen. -
Verwenden Sie Kommandozeilentools, um nach Konfigurationsdateien zu suchen:
- Nach nginx.conf suchen:
sudo find / -name nginx.conf
- Nach jeder Datei mit "nginx" im Namen suchen:
sudo find / -name "*nginx*"
- Nach nginx.conf suchen:
Wenn diese Schritte Ihnen nicht helfen, die Konfigurationsdatei zu finden, ist Nginx möglicherweise nicht auf Ihrem System installiert oder befindet sich an einem nicht standardmäßigen Speicherort.
Ändern der Nginx-Einstellungen zur Erhöhung der Upload-Größe
Bearbeiten der Nginx-Konfigurationsdatei
Um die Begrenzung der Dateigröße für Uploads in Nginx zu erhöhen, müssen Sie die Nginx-Konfigurationsdatei bearbeiten:
-
Öffnen Sie die Konfigurationsdatei mit einem Texteditor:
sudo nano /etc/nginx/nginx.conf
Verwenden Sie den korrekten Pfad, falls sich Ihre Konfigurationsdatei an einem anderen Ort befindet.
-
Finden Sie den Abschnitt, in dem Sie Änderungen vornehmen möchten. Sie können die
client_max_body_size
-Direktive imhttp
-,server
- oderlocation
-Kontext platzieren. Sie befindet sich oft imserver
-Block.
Anpassen des client_max_body_size Parameters
Um die maximal erlaubte Größe des Client-Request-Body zu ändern:
-
Fügen Sie die
client_max_body_size
-Direktive hinzu oder ändern Sie sie:client_max_body_size 100M;
Dies setzt die maximale Upload-Größe auf 100 Megabyte. Ändern Sie diesen Wert nach Bedarf.
-
Falls die Direktive bereits existiert, ändern Sie den Wert. Falls nicht, fügen Sie die Zeile im richtigen Abschnitt Ihrer Konfigurationsdatei hinzu.
-
Verwenden Sie
M
für Megabyte oderG
für Gigabyte. Verwenden Sie nichtMB
oderGB
, da diese nicht funktionieren werden. -
Sie können unterschiedliche Limits für verschiedene Locations setzen:
location /upload { client_max_body_size 500M; }
Dies setzt ein 500MB-Limit für die
/upload
-Location. -
Speichern Sie die Änderungen und verlassen Sie den Texteditor.
Testen Sie Ihre Konfiguration und laden Sie Nginx neu, nachdem Sie diese Änderungen vorgenommen haben. Stellen Sie sicher, dass Ihre PHP-Einstellungen (falls zutreffend) mit Ihrem neuen Nginx-Upload-Größenlimit übereinstimmen.
Tipp: PHP-Upload-Einstellungen überprüfen
Wenn Sie PHP mit Nginx verwenden, denken Sie daran, auch die Upload-Einstellungen von PHP anzupassen. Bearbeiten Sie Ihre php.ini-Datei und ändern Sie diese Werte:
upload_max_filesize = 100M
post_max_size = 100M
Ersetzen Sie 100M durch Ihr gewünschtes Limit. Starten Sie PHP-FPM nach diesen Änderungen neu.
Testen und Anwenden der neuen Konfiguration
Überprüfen der Nginx-Konfigurationssyntax
Nachdem Sie die Nginx-Konfigurationsdatei geändert haben, überprüfen Sie auf Syntaxfehler, bevor Sie die Änderungen anwenden. Verwenden Sie diesen Befehl, um die Konfiguration zu überprüfen:
sudo nginx -t
Dieser Befehl testet die Nginx-Konfigurationsdateien und meldet Fehler. Wenn der Test erfolgreich ist, sehen Sie eine Meldung, dass der Konfigurationstest erfolgreich war und die Syntax in Ordnung ist.
Wenn es Fehler gibt, zeigt der Befehl Details zum Problem und dessen Ort in der Konfigurationsdatei an. Beheben Sie diese Fehler, bevor Sie fortfahren.
Tipp: Sichern Sie Ihre Konfiguration
Bevor Sie Änderungen an Ihrer Nginx-Konfiguration vornehmen, erstellen Sie ein Backup Ihrer aktuellen Konfigurationsdatei. Dies ermöglicht es Ihnen, Änderungen bei Bedarf schnell rückgängig zu machen:
sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup
Neuladen oder Neustarten von Nginx
Sobald Sie bestätigt haben, dass die Konfigurationssyntax korrekt ist, wenden Sie die neuen Einstellungen an. Es gibt zwei Hauptmethoden:
-
Nginx neu laden: Diese Methode unterbricht keine aktiven Verbindungen. Verwenden Sie diesen Befehl:
sudo nginx -s reload
Oder, wenn Sie systemd verwenden:
sudo systemctl reload nginx
-
Nginx neu starten: Wenn ein Neuladen nicht alle Änderungen anwendet, müssen Sie möglicherweise Nginx neu starten. Dies unterbricht alle aktiven Verbindungen:
sudo systemctl restart nginx
Nach dem Neuladen oder Neustarten von Nginx sollte die neue Begrenzung der Dateigröße für Uploads aktiv sein. Testen Sie Ihre Datei-Upload-Funktion, um zu bestätigen, dass größere Dateien jetzt hochgeladen werden können.
Überwachen Sie die Leistung Ihres Servers, nachdem Sie die Upload-Größenbegrenzung erhöht haben, da die Verarbeitung größerer Datei-Uploads möglicherweise mehr Serverressourcen benötigt.