Beheben Sie den Nginx-Fehler „504 Gateway Time-out“

Beheben Sie den Nginx-Fehler „504 Gateway Time-out“

Studenten, die Websites erstellen, stellen häufig fest, dass einige Nginx-Server beim Zugriff 504 Gateway Timeout-Fehler melden. Im Allgemeinen wird dies durch die langsame Reaktion des standardmäßigen Fastcgi-Prozesses von Nginx verursacht, es gibt jedoch auch andere Situationen. Hier fasse ich einige Lösungen zu Ihrer Information zusammen.

So beheben Sie den Fehler „504 Gateway Time-out“

Methoden/Schritte

Fall 1: Der Standard-FastCGI-Prozessantwortpuffer von Nginx ist zu klein

Diese Situation führt dazu, dass der FastCGI-Prozess angehalten wird. Wenn das FastCGI-Serviceteam diese Anhaltung nicht gut handhabt, kann dies zu einem Fehler „504 Gateway Time-out“ führen.

Lösung für Situation 1:

Der Standard-Antwortpuffer des FastCGI-Prozesses ist 8 KB groß. Wir können ihn vergrößern, indem wir in nginx.conf Folgendes hinzufügen: fastcgi_buffers 8 128k

Dies bedeutet, dass der FastCGI-Puffer auf 8 Blöcke mit einer Größe von 128 KB eingestellt wird.

Lösung zu Situation 1 (Verbesserung):

Wenn das Problem nach der Änderung der obigen Methode weiterhin auftritt, können wir den Nginx-Timeout-Parameter weiter ändern und den Parameter ein wenig erhöhen, z. B. indem wir ihn auf 60 Sekunden einstellen:

send_timeout 60;

Nach dem Anpassen dieser beiden Parameter wurde der Fehler „504 Gateway Time-out“ nicht mehr angezeigt, was zeigt, dass der Effekt recht gut ist und das Problem grundsätzlich gelöst ist.

Fall 2: Konfigurationsproblem der PHP-Umgebung

Hier müssen wir die Konfiguration von php-fpm und nginx ändern. Denn auch in diesem Fall erscheint die Fehlermeldung „504 Gateway Time-out“.

Lösung für Situation 2 (Änderung der PHP-FPM-Konfiguration):

Ändern Sie max_children von 10 30 um sicherzustellen, dass genügend PHP-CGI-Prozesse verfügbar sind.

Ändern Sie request_terminate_timeout von 0秒auf 60秒. Dadurch wird die Zeitüberschreitungsperiode für den php-cgi-Prozess zur Verarbeitung des Skripts auf 60 Sekunden erhöht. Dies kann verhindern, dass der Prozess hängen bleibt, und die Nutzungseffizienz verbessern.

Lösung für Situation 2 (Änderung der Nginx-Konfiguration):

Um die Anzahl der FastCGI-Anfragen zu reduzieren und die Puffer unverändert zu lassen, müssen wir mehrere Nginx-Konfigurationselemente wie folgt ändern:

Ändern Sie fastcgi_buffers von 4 64k auf 2 256k ;

Ändern Sie fastcgi_buffer_size von 64k 128k ;

Ändern Sie fastcgi_busy_buffers_size von 128k 256k ;

Ändern Sie fastcgi_temp_file_write_size von 128k 256k .

Nachdem die Lösung für Situation 2 geändert wurde, müssen wir die Konfiguration von php-fpm und nginx neu laden und dann testen. Danach wurden keine „504 Gateway Time-out“-Fehler mehr gefunden und die Wirkung ist immer noch gut!

Das Obige ist die Einführung des Herausgebers zur Lösung des Nginx-Fehlers „504 Gateway Time-out“. Ich hoffe, es wird für alle hilfreich sein. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!

Das könnte Sie auch interessieren:
  • So beheben Sie den Nginx 504 Gateway Time-out-Fehler
  • Ein Nginx 504 Gateway Time-out Fehler-Troubleshooting und Lösungs-Protokoll
  • Lösungen für die Fehler Nginx 502 Bad Gateway und Nginx 504 Gateway Timeout

<<:  Prinzip des MySQL-Indexfehlers

>>:  7 interessante Möglichkeiten, versteckte Elemente in CSS zu erreichen

Artikel empfehlen

MySQL-Abfragedaten für heute, diese Woche, diesen Monat und letzten Monat

Heute Wählen Sie * aus Tabellenname, wobei to_day...

So implementieren Sie Parallelitätskontrolle in JavaScript

Inhaltsverzeichnis 1. Einführung in die Paralleli...

So fügen Sie Docker ein Zertifikat hinzu

1. Upgrade-Vorgang: sudo apt-get update Probleme ...

React Native realisiert den Auf- und Ab-Pull-Effekt der Überwachungsgeste

React Native implementiert die Überwachungsgeste ...

So verwenden Sie das Datums-Plugin vue-bootstrap-datetimepicker in vue-cli 3

Nachfragehintergrund In letzter Zeit plane ich, V...

Detaillierte Erklärung des Ref-Attributs von Vue

Zusammenfassen Dieser Artikel endet hier. Ich hof...

Docker-Umgebung in Linux-Umgebung installieren (keine Fallstricke)

Inhaltsverzeichnis Installationsvoraussetzungen S...

Detaillierte Erklärung der CSS3-Animation und der neuen Funktionen von HTML5

1. CSS3-Animation ☺CSS3-Animationen sind viel ein...

Einführung in die Apache-Bereitstellung von https in der Kryptografie

Inhaltsverzeichnis Zweck Experimentelle Umgebung ...

Wie implementiert die MySQL-Datenbank die XA-Spezifikation?

MySQL-Konsistenzprotokoll Was passiert mit nicht ...