Nginx 502 Schlechtes Gateway. Gelöst durch Erhöhung des Puffers. Warum?

8

Ich bin dabei, einen LEMP-Stack für die Ausführung von Drupal einzurichten. Ich habe Nginx und PHP-FastCGI installiert.

Nginx funktionierte gut, aber alle Versuche, PHP auszuführen, gab mir den Fehler "502 Bad Gateway".

Eine schnelle Google enthüllte: nginx 502 schlechtes Gateway und erhöhte die gelöste Puffergröße das Problem.

%Vor%

Die Frage ist warum?

Mein Verständnis

Aus dem vorherigen Link scheint es, dass nginx Anfragen an PHP-FastCGI gesendet hat und nicht reagiert hat. Was ist mit diesen Anfragen, die eine Auszeit haben?

Hatte es nicht genug Zeit, um zu antworten, weil das PHP komplex war (war es nicht, es war phpinfo(); ). Jetzt habe ich den Puffer vergrößert, wann sollte ich mir Sorgen machen, dass ich den Puffer wieder erhöhen muss?

    
Dominic Woodman 23.10.2013, 10:44
quelle

1 Antwort

4

Wenn Sie das nginx-Fehlerprotokoll überprüfen, wird höchstwahrscheinlich diese Nachricht angezeigt:
upstream sent too big header while reading response header from upstream

fastcgi_buffers legt die Anzahl und die Speichergröße der Puffersegmente fest, die für die Antwort des FastCGI-Upstream verwendet werden.

Standardwerte in der Dokumentation:
fastcgi_buffers 8 4k|8k;
wobei die Standardpuffergröße gleich der PAGESIZE des Betriebssystems ist.
getconf PAGESIZE ermöglicht das Abrufen der aktuellen Speicherseitengröße.

Zum Beispiel ist in Ubuntu 14.01 der Standardwert PAGESIZE 4 KB. Das heißt, Sie haben 8 Segmente, jeweils 4KB. Insgesamt ist 32KB. Die Antwort von FastCGI ist mehr als diese Zahl, deshalb erhalten wir den Antwortcode 502 - server received

Es ist keine großartige Erklärung, aber es wird Ihnen helfen, besser zu verstehen, hoffe ich.

    
antonbormotov 09.11.2015 07:04
quelle

Tags und Links