Ursachen und Lösungen für den Nginx 502 Bad Gateway-Fehler

Ursachen und Lösungen für den Nginx 502 Bad Gateway-Fehler

Der Nginx 502 Bad Gateway-Fehler ist mir schon mehrmals begegnet. Ich werde ihn hier zur Erinnerung notieren.


Es gibt viele Situationen, in denen 502-Fehler auftreten können. Lassen Sie uns über jede Situation einzeln sprechen.

1. Der FastCGI-Puffer ist zu klein eingestellt

Wenn ein Fehler auftritt, suchen Sie zuerst nach der nginx-Protokolldatei im Verzeichnis /var/log/nginx. Der folgende Fehler wird im Protokoll gefunden.

17.01.2013 13:33:47 [Fehler] 15421#0: *16 Upstream hat beim Lesen des Antwortheaders vom Upstream einen zu großen Header gesendet

Nachdem ich die Informationen überprüft hatte, stellte ich fest, dass ein Fehler im Nginx-Puffer vorliegt und die Seiten auf unserer Website möglicherweise zu viel Puffer verbrauchen.

Ich habe online nach einer Lösung gesucht und auf einer fremden Website eine Methode zum Erhöhen des Puffers gefunden, die das Nginx 502 Bad Gateway-Problem vollständig gelöst hat. So geht's:

http {
  ...
  fastcgi_buffers 8 16k;
  fastcgi_buffer_size 32k;
  ...
}

Bitte erhöhen Sie die beiden oben genannten Konfigurationselemente entsprechend der Situation des Servers und der Website.

2. Der Proxy-Puffer ist zu klein eingestellt

Wenn Sie den Reverse-Proxy von Nginx verwenden und der Header zu groß ist und den Standardwert von 1 KB überschreitet, wird der oben erwähnte „Upstream Send Too Big Header“ ausgelöst (um es einfach auszudrücken: Nginx sendet die externe Anforderung zur Verarbeitung an das Backend, und der vom Backend zurückgegebene Header ist zu groß, sodass Nginx ihn nicht verarbeiten kann, was zu 502 führt).

Server {
    hören Sie 80;
    Servername *.lxy.me;
    Standort / {
##################Fügen Sie diese 3 Zeilen hinzu: proxy_buffer_size 64k;
       Proxy-Puffer 32 32k;
       Proxy_Busy_Buffer_Größe 128k;
#################Fügen Sie diese 3 Zeilen hinzu: proxy_set_header Host $host;
      Proxy_Set_Header X-Real-IP $Remote_Addr;
      proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for;
............
}

3. Die Standardanzahl der PHP-CGI-Prozesse ist zu gering

Wenn während der Installation und Verwendung ein 502-Fehler auftritt, liegt dies normalerweise daran, dass die Standardanzahl der php-cgi-Prozesse 5 beträgt. 502 kann durch unzureichende phpcgi-Prozesse verursacht werden. Sie müssen /usr/local/php/etc/php-fpm.conf ändern und den max_children-Wert entsprechend erhöhen. Es ist auch möglich, dass der max_requests-Wert nicht ausreicht. Es ist zu beachten, dass diese beiden Konfigurationselemente viel Speicher beanspruchen. Bitte stellen Sie sie entsprechend der Serverkonfiguration ein. Andernfalls könnte es den gegenteiligen Effekt haben.

4. PHP-Ausführungstimeout

PHP-Ausführungstimeout, ändern Sie /usr/local/php/etc/php.ini und ändern Sie max_execution_time auf 300

5. Nginx-Wartezeit-Timeout

Die Ausführungszeit einiger PHP-Programme überschreitet die Wartezeit von Nginx. Sie können die Timeout-Zeit von FastCGI in der Konfigurationsdatei nginx.conf entsprechend erhöhen.

http {
 fastcgi_connect_timeout 300;
 fastcgi_send_timeout 300;
 fastcgi_read_timeout 300;
 .....
 }

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Fehlerbehebung bei der Ursache des 502 Bad Gateway-Fehlers auf dem Nginx-Server
  • 4 häufige Ursachen und Lösungen für den Nginx 502 Bad Gateway-Fehler
  • Deep Dive: So beheben Sie den Nginx 502 Bad Gateway-Fehler
  • Ursachen und Lösungen für die Front-End-Ausnahme 502 Bad Gateway

<<:  JavaScript-Einzelthread und asynchrone Details

>>:  Die Verwendung von Ankerpunkten in HTML_PowerNode Java Academy

Artikel empfehlen

Analyse des MySQL-Client-Installationsprozesses auf dem Mac

Versuchen Sie die Installation über Pip in einer ...

Zusammenfassung gängiger SQL-Anweisungen in MySQL

1. MySQL-Exportdatei: SELECT `pe2e_user_to_compan...

Webdesign-Erfahrung: Selbstgerechte Webdesigner

1. Trash oder Klassiker? Die Webtechnologie aktua...

Erläuterung des MySQL-Multitabellen-Join-Abfragebeispiels

In tatsächlichen Projekten gibt es Beziehungen zw...

Anpassungsmethode des Linux-Peripheriedateisystems

Vorwort Wenn wir von Linux-Systemen sprechen, mei...

Centos7.3 So installieren und implementieren Sie Nginx und konfigurieren https

Installationsumgebung 1. gcc-Installation Um ngin...

Abfrageprozess und Optimierungsmethode der (JOIN/ORDER BY)-Anweisung in MySQL

Die EXPLAIN-Anweisung wird im MySQL-Abfrageanweis...

VUE implementiert eine Timeline-Wiedergabekomponente

In diesem Artikelbeispiel wird der spezifische Co...

Zusammenfassung von Beispielen gängiger Methoden von JavaScript-Arrays

Inhaltsverzeichnis Gängige Array-Methoden concat(...

Geben Sie einige Tipps zur Verwendung von JavaScript-Operatoren

Inhaltsverzeichnis 1. Optionaler Verkettungsopera...

IIS 7.5 verwendet das URL-Rewrite-Modul, um eine Webseitenumleitung zu erreichen

Wir alle wissen, dass Apache in der Konfiguration...