Arama Yap Mesaj Senden
Rückruf anfordern
+90
X
X

Wählen Sie Ihre Währung

Türkische Lira $ US Dollar Euro
X
X

Wählen Sie Ihre Währung

Türkische Lira $ US Dollar Euro

Kontaktieren Sie uns

Standort Halkali Merkez Viertel Fatih Str. Ozgur Apt. No. 46, Kucukcekmece, Istanbul, 34303, TR
Technischer Leitfaden für NGINX

NGINX 504 Gateway Timeout: Eine Anleitung zu Proxy- und FastCGI-Zeitüberschreitungen

504 Gateway Timeout, NGINX’s Backend wurde erreicht, aber keine Antwortüberschrift oder Daten wurden innerhalb der festgelegten Zeit erhalten. Diese Anleitung erklärt, wie PHP-FPM, Datenbank, externe API, Import und Anwendungsengpässe ohne Anpassung der Zeitlimite gefunden werden können.

504 Gateway Timeoutupstream timed outproxy_read_timeoutFastCGISlow Query
root@server:~SSH
2026/07/17 03:22:51 [error] 2190#2190: *1147 upstream timed out (110: Connection timed out) while reading response header from upstream
upstream: "fastcgi://unix:/run/php/php8.3-fpm.sock"
AnforderungsflussClient, NGINX und Backend-Verbindungsbrempunkt
KonfigurationValidierung der aktiven Server- und Location-Blöcke
Live-DiagnoseLog, Socket, Port- und Dienstkontrolle
Sichere AnwendungTest, kontrollierter Reload und Ergebnisvalidierung
01
Technische Beschreibung

Was zeigt NGINX 504 Gateway Timeout?

504 zeigt an, dass NGINX’s Upstream-Ziel erreicht wurde, aber keine zeitnah verfügbare Antwort erhalten wurde. Die Grundursache könnte langsames PHP-Code, eine gesperrte Datenbank, externe API, voller Arbeiterpool oder interne unendliche Wartezeit sein.

Die im Log angegebene Phrase 'while connecting to upstream' weist auf ein Problem mit verzögerten Backend-Antworten während der Verbindungsherstellung hin; 'while reading response header from upstream' weist auf ein Problem mit verzögerten Backend-Antworten nach der Verbindungsherstellung hin.

proxy_read_timeout und fastcgi_read_timeout beschränken nicht die Gesamtverarbeitungszeit, sondern die Wartezeit zwischen zwei aufeinanderfolgenden Lesen. Eine Erhöhung seines Wertes kann einige längst laufende Prozesse beenden, aber es wird das Problem der langsamen Abfrage oder des blockierten Arbeiters nicht beseitigen.

Wenn lange Aufgaben wie WordPress-Import, WooCommerce-Bericht, große Sicherung, Videoverarbeitung oder externe API-Aufruf innerhalb eines HTTP-Anfrage ausgeführt werden, ist es gesünder, sie in eine Warteschlange, Cron oder Hintergrundarbeiterarchitektur zu verschieben.

Wenn der 504-Status nur während Spitzenzeiten auftritt, sollten Sie PHP-FPM max_children, Anwendungsarbeiteranzahl, MySQL-Slow-Query, CPU-Ladezeit und Disk-Verzögerung gemeinsam untersuchen.

Messung, wie lange es dauert, bevor die Timeout-Wert erhöht wird; Wartezeit sollte optimiert werden, nicht die Dauer.

02
Protokollmeldungen und ihre Bedeutung

504, Upstream-Zeitüberschreitung und Backend-Warte-Meldungen

Suchen Sie nach dem Ausdruck, den Sie in der E-Mail, im Browser oder im SSH-Protokoll sehen. Jede Karte enthält eine Bedeutung, eine wahrscheinliche Ursache und eine sichere erste Maßnahme.

8 Registrierung
01kritik

upstream timed out while reading response header from upstream

Bedeutung: Backend hat Verbindung akzeptiert, aber initialen Antwort-Header innerhalb der Zeit nicht produziert.

Mögliche Ursache: Langsame Anwendung, DB-Sperre, vollständiger Worker oder externer API.

Rufen Sie den gleichen Endpunkt zum Backend-Port direkt mit curl auf, um die Dauer zu messen.
02kritik

upstream timed out while connecting to upstream

Bedeutung: Die TCP/Socket-Verbindung zum Backend konnte innerhalb der angegebenen Zeit nicht hergestellt werden.

Mögliche Ursache: Netzwerk-, Backlog-, Dienstdichte- oder unerreichbares Ziel.

Überprüfen Sie den Port-Zugriff, die SYN-Zustände und die proxy_connect_timeout-Werte.
03Warnung

upstream timed out while reading upstream

Bedeutung: Antwort begann, aber Datenfluss-Wartezeitlimit überschritten.

Mögliche Ursache: Langsame Stream, große Ausgabe oder Backend-Hang.

Vergleichen Sie die Antwortgröße, Pufferung und Anwendungsprotokollzeiten.
04Warnung

server reached pm.max_children setting

Bedeutung: In der PHP-FPM-Pool sind keine idle Worker vorhanden.

Mögliche Ursache: Unzureichende max_children oder langlaufende PHP-Anfragen.

Überwachen Sie die PHP-FPM-Slowlog- und Prozesszeiten; Anpassen Sie die Poolgröße anhand der RAM-Kapazität.
05Warnung

Maximum execution time exceeded

Bedeutung: PHP hat die Ausführungszeitgrenze erreicht.

Mögliche Ursache: Langsame Code, großer Import oder externe Dienstverzögerung.

Optimieren Sie die Funktion und die Abfrage in der fatalen Zeile; setzen Sie die Zeit nur dann.
06Warnung

MySQL server has gone away

Bedeutung: Verbindung zur Datenbank während des langen Prozesses abgebrochen.

Mögliche Ursache: Timeout, Paketgröße, Neustart oder Netzwerkproblem.

Passen Sie das MariaDB-Protokoll und die Anwendungsabfragezeit im gleichen Zeitrahmen zusammen.
07bilgi

504 Gateway Time-out nginx

Bedeutung: Browser-Allgemeine-Timeout-Seite wird angezeigt.

Mögliche Ursache: Proxy, FastCGI oder upstream Antwortverzögerung.

Suchen Sie die Upstream-Phase im NGINX-Fehlerprotokoll.
08bilgi

client timed out while waiting for request

Bedeutung: Der Client-Anfrage wurde aufgrund von Zeitablauf nicht abgeschlossen.

Mögliche Ursache: Langsamer Upload oder Client-Verbindung; upstream 504 sollte nicht verwechselt werden.

Unterscheiden Sie zwischen Log-Kontext und Anforderungskörper-Prozess.

Es wurden keine Datensätze gefunden, die diesem Ausdruck entsprechen.

03
Sichere erste Bewertung

SSH-Diagnosebefehle und auf welche Ausgabe ist zu achten?

Befehle sind für den Root-Zugriff vorgesehen. Sammeln Sie zunächst nur den Status und die Protokolle. Ändern Sie die dauerhafte Einstellung nicht, ohne den Grund dafür zu erkennen.

Messung der Zeit von Origin und Backend
curl -sk -o /dev/null -w 'origin connect=%{time_connect} start=%{time_starttransfer} total=%{time_total}\n' https://example.com/
curl -s -o /dev/null -w 'backend start=%{time_starttransfer} total=%{time_total}\n' http://127.0.0.1:3000/

Zeigt an, ob die Verzögerung vor NGINX oder im Backend liegt.

Timeout-Protokolle
grep -R "upstream timed out" /var/log/nginx 2>/dev/null | tail -n 100

Es sammelt, welche URL und der Upstream-Ziel eine Zeitüberschreitung hat.

Zeigt die aktiven Timeout-Einstellungen an.
nginx -T | grep -nE 'proxy_(connect|read|send)_timeout|fastcgi_(connect|read|send)_timeout'

Include-Dateien mit tatsächlichen Ausführungszeiten.

Systemlast
uptime
vmstat 1 5
iostat -xz 1 3 2>/dev/null
free -h

Überwacht CPU, RAM, Warteschlange und Diskus latenz.

Datenbank- und PHP-Prozesse
ps -eo pid,etimes,%cpu,%mem,cmd --sort=-etimes | head -n 30
mysqladmin processlist 2>/dev/null | head -n 50

Zeigt lang laufende Prozesse und Abfragen an.

Test und reload
nginx -t && systemctl reload nginx
curl -skI --max-time 30 https://example.com/

Nach Änderungen sicheres Neuladen und Ergebnistest.

04
Durch Hosting-Umgebung

Ubuntu/Debian-, AlmaLinux/CloudLinux- und Plesk-Steuerelemente

Obwohl die Grundursache des NGINX-Fehlers dieselbe ist, variieren Paketpfade, Dienstnamen, Sicherheitsebenen und die Verwaltung virtueller Hosts je nach verwendeter Linux-Distribution oder Plesk-Infrastruktur.

Ubuntu / Debian

NGINX 504 Gateway Timeout für systemd, Paketpfad und journald-Prüfunglen.

  • Zuerst die aktive NGINX-Konfiguration und den Status des Dienstes überprüfen.
  • Vergleichen Sie das Domain-Fehler-Log mit dem systemd-Log im gleichen Zeitraum.
  • Führen Sie vor der Änderung nginx -t und anschließend ein unterbrechungsfreies Neuladen durch.
grep -R 'upstream timed out' /var/log/nginx | tail -n 50 systemctl status nginx php8.3-fpm --no-pager journalctl -u php8.3-fpm -n 100 --no-pager

AlmaLinux / CloudLinux

NGINX 504 Gateway Timeout für SELinux, PHP-FPM-Pool und RHEL-basierte Dienstkontrollen.

  • Überprüfen Sie den aktiven Status von NGINX und den damit verbundenen Backend-Diensten.
  • Überprüfen Sie SELinux-ACV-Einträge und Sicherheitskontexte.
  • Starten Sie den Service nicht ohne die Konfigurationsprüfung durchzuführen.
grep -R 'upstream timed out' /var/log/nginx | tail -n 50 systemctl status nginx php-fpm --no-pager journalctl -u php-fpm -n 100 --no-pager

Plesk Obsidian

NGINX-Virtualhost-Dateien, die von Plesk generiert werden: nginx 504 gateway timeout-Prüfungle.

  • Überprüfen Sie die zusätzlichen Direktiven im Abschnitt Domains > Apache- und nginx-Einstellungen.
  • Manuell erstellte und von Plesk generierte Dateien voneinander trennen.
  • Wenn nötig, erstellen Sie die Web-Konfiguration für die relevante Domain nur neu.
grep -R 'upstream timed out' /var/www/vhosts/system/example.com/logs /var/log/nginx 2>/dev/null | tail -n 50 plesk repair web example.com -n
05
Sichere Lösungsreihenfolge

NGINX 504 Gateway Timeout-Lösungssequenz

Zuerst bestimmen Sie, ob die Verzögerung im Verbindungsbereich, im ersten Antwort, im Datenübertragungs- oder im Anwendungsprozessschritt auftritt.

1

Überprüfen Sie die Fehler-URL und die Zeit.

Protokollieren Sie, welcher Endpunkt den 504-Fehler verursacht, die gesamte Website oder wie viele Sekunden es dauert, bis ein 504-Fehler auftritt.

curl -sk -o /dev/null -w '%{http_code} %{time_starttransfer} %{time_total}\n' https://example.com/islem
2

Im Log die Timeout-Phase unterscheiden.

Klassifizieren Sie verbindende, Lesen von Response-Headern oder Lesen von Upstream-Expressionen

grep 'upstream timed out' /var/log/nginx/error.log | tail -n 50
3

Messung des Backends ohne NGINX

Senden Sie die gleiche Anfrage direkt an den Anwendungsport.

curl -s -o /dev/null -w '%{http_code} %{time_total}\n' http://127.0.0.1:3000/islem
4

Finden Sie den Anwendung und Datenbank-Engpass.

Slowlog, langsame Anfrage, API-Aufruf und vollständigen Worker-Pool untersuchen.

ps -eo pid,etimes,%cpu,%mem,cmd --sort=-etimes | head -n 30
5

Setzen Sie eine vernünftige Timeout-Wert nur wenn nötig.

Legen Sie die Dauer entsprechend der erwarteten Aufgabenzeit in der engsten Location-Block fest.

nginx -T | grep -nE 'proxy_read_timeout|fastcgi_read_timeout'
6

Überprüfen Sie unter Last

Beobachte die Verhaltensweise von Worker und Zeit neben einer einzelnen Anfrage und mehreren gleichzeitigen Anfragen.

for i in {1..5}; do curl -sk -o /dev/null -w '%{http_code} %{time_total}\n' https://example.com/islem & done; wait
06
Unterscheidung nach Symptom

Spezielle Szenarien und Entscheidungsbäume

WordPress importunda 504

Der Importvorgang kann durch PHP-Zeit, Speicher, DB und externe Medien-Download verzögert werden.

tail -f wp-content/debug.log /var/log/nginx/error.log
WooCommerce raporunda 504

Große Tabellen und mangelnde Indizes können langsame Abfragen erzeugen.

mysqladmin processlist
Timeout während großer Upload.

Upload-Timeout und Request-Body-Limit sollten getrennt voneinander kontrolliert werden.

nginx -T | grep -nE 'client_max_body_size|client_body_timeout'
External API wartet

Die vom Anwendungs-Service an das externe Service übergebene Zeitüberschreitung kann länger sein als die von NGINX.

curl -v --max-time 15 https://api.example.net/health
Es tritt nur während der Spitzenstunde auf.

Überprüfen Sie den Worker-Pool, die DB-Verbindungsbeschränkung und die CPU-Sättigung.

uptime; free -h; ss -s
Container health ist fehlgeschlagen

Backend reagiert nicht ohne Neustart oder Bereitschaft könnte falsch sein.

docker stats --no-stream; docker ps

Auf keinen Fall

  • Setzen Sie die Timeout-Werte für jeden Standort nicht auf unbegrenzt oder sehr hoch.
  • Erhöhen Sie die PHP max_execution_time nicht allein, ohne langsame Abfragen zu lösen.
  • Während eines 504-Status sollten Sie MySQL nicht unnötig neu starten.
  • Lange video/import-Aufgaben innerhalb eines Webanfrages nicht zwingen.
  • Ändern Sie die gesamte Server-Time-out-Einstellung nicht aufgrund eines einzelnen Endpunkt-Problems.

Überprüfung nach der Lösung

  • Backend vervollständigt direkten Antrag innerhalb der erwarteten Zeit.
  • Das NGINX-Fehlerprotokoll generiert keine neuen Einträge für abgelaufene Upstream-Zeitlimits.
  • Keine max_children Warnung wird in der PHP-FPM-Pool gefunden.
  • Lange/gesperrte Abfragen in der Datenbank sind unter Prüfungle.
  • Timeout-Einstellung wird nur innerhalb der notwendigen Server/Standort-Umgebung angewendet.
07
Offizielle technische Ressourcen

Offizielle Dokumentation von NGINX und zugehörigen Komponenten

08
Interner SEO-Inhaltssatz

Verwandte NGINX-Fehlerlösungen

09
Häufig gestellte Fragen

NGINX 504 Gateway Timeout Kuriositäten über

NGINX 504 Gateway Timeout warum?

NGINX kann den Backend erreichen, aber antwortet innerhalb der angegebenen Zeit nicht. Langsame PHP, Datenbank, externe API, voller Worker-Pool oder Netzwerklatenz sind häufige Ursachen.

Ist eine Erhöhung von proxy_read_timeout ausreichend?

Nein. Es kann helfen, wenn der Prozess sehr lange dauern soll; aber es kann nur langsame Abfragen, Sperren oder abgestürzte Worker-Probleme verbergen.

Was misst fastcgi_read_timeout?

Misst die Wartezeit zwischen zwei aufeinanderfolgenden Lesen vom FastCGI-Server; begrenzt die Gesamtzeit des gesamten Anforderung nicht direkt.

Was ist der Unterschied zwischen 502 und 504?

502 zeigt in der Regel an, dass eine Verbindung zum Backend nicht hergestellt werden konnte oder eine ungültige Antwort erhalten wurde; 504 zeigt an, dass eine Verbindung hergestellt wurde, aber innerhalb der angegebenen Zeit keine Antwort erhalten wurde.

Wie wird 504 in WordPress diagnostiziert?

NGINX error_log, PHP-FPM slowlog, WordPress debug.log und MySQL processlist sollten innerhalb desselben Zeitrahmens verglichen werden.

Wie werden lange Importvorgänge ausgeführt?

Es sollte möglichst unabhängig von HTTP-Anfragen mit WP-CLI, cron, Warteschlange oder Hintergrundarbeiter ausgeführt werden.

Was man überprüfen sollte, wenn 504 nur im starken Verkehr auftritt

Überprüfen Sie gemeinsam max_children, Anwendungsarbeiteranzahl, DB-Verbindungsgrenze, CPU-Ladezeit, RAM und Disk-Verzögerung.

EKA SOFTWARE- UND INFORMATIONSSYSTEME

Lassen Sie uns den Fehler auf Ihrem Server dauerhaft beheben

Durch die gemeinsame Analyse von cPanel, WHM, CloudLinux, LiteSpeed, MariaDB, Exim und Sicherheitsebenen beheben wir die Grundursache des Fehlers, anstatt nur den Dienst zu entfernen.

Holen Sie sich Server-Support WhatsApp
Top