Ist das erste Mal, dass wir Nginx und PHP-FPM einrichten. Vor einer Woche nutzten wir Apache, um eine Webseite zu bedienen, aber wir haben uns entschieden, die Nginx-Kombination auszuprobieren, und wir sehen uns mehreren Problemen gegenüber.
Wir haben eine virtuelle Maschine, auf der Ubuntu 14.04 LTS Trusty läuft. Unter anderen Dienstprogrammen läuft auf dem Rechner Nginx mit PHP-FPM und MySQL, und hier kommt das Problem:
Wir sind zu dem Schluss gekommen, dass der Client eine Verbindung mit dem Nginx herstellen kann, aber Nginx, wenn er die Anfrage an FPM umleitet (auf den über Port 7777 zugegriffen werden kann), erhält keine Antwort und zeigt einen Zeitüberschreitungsfehler an. Wir haben uns auf die Fehlersuche bei der Kommunikation zwischen Nginx und FPM konzentriert, aber nach mehreren Stunden haben wir keine Lösung gefunden.
Hinweis : Dieses Problem wird auf den vier virtuellen Maschinen, die wir eingerichtet haben, wiederholt.
Nginx-Fehlerprotokoll (Hinweis: Hostname und IP wurden unterdrückt)
%Vor%Datei: /etc/nginx/nginx.conf
%Vor%Datei: /etc/nginx/sites-available/default.conf
%Vor% Datei: / etc / nginx / fastcgi_params
Hinweis : Nur die Zeile fastcgi_param REQUEST_SCHEME $scheme;
wurde hinzugefügt.
Datei: /etc/php5/fpm/php-fpm.conf
%Vor%Datei: /etc/php5/fpm/pool.d/www.conf
%Vor%Was wir bisher getan haben (diese Konfigurationen sind möglicherweise nicht in den obigen Dateien enthalten)
proxy_read_timeout
in der nginx-Konfiguration. max_execution_time
und request_terminate_timeout
auf 300 (auf php.ini bzw. nginx.conf). worker_process
und worker_connections
in der nginx-Konfiguration. Listen
von /var/run/php5-fpm.sock auf 127.0.0.1:7777 sowohl in nginx config als auch in php-fpm. Wir werden weiter an einer Lösung arbeiten, und wenn sie gefunden wird, wird sie hier veröffentlicht. Danke!
Gelöst!
Es scheint, dass das Problem im PHP-Code lag. Bei der Verwendung von xdebug wurde das remote_host
-Attribut nicht gesetzt, und wir wissen immer noch nicht, warum die xdebug-Prozeduren abhängig vom entfernten Host zufällig ausgeführt wurden.
Hinweis : Wenn wir nur Apache verwendet haben, ist dieses Problem nie aufgetreten. Es begann mit der Verwendung von Nginx + php-fpm, aber vergiss es, schließlich wurde das Problem gelöst.
Danke.