1, Nginx-Fehler kann den Speicherort nicht finden. Im Allgemeinen muss /usr/local/nginx/conf/nginx.conf geändert werden (vorsichtige Änderung kann zu anderen Website-Problemen führen)
2.502 Fehler
Fall 1: Nginx hängt:
Befehl: /usr/local/nginx/sbin/nginx-s neu laden
Warten Sie eine Weile
Fall 2: PHP hängt:
Zuerst müssen Sie Um /usr zu ändern, müssen Sie es weiterhin
versuchen und dann einen der folgenden Befehle verwenden oder mehrere Konfigurationen/usr/local/php-5.6.0/sbin/php-fpm neu laden
/usr/local/php-5.6.0/sbin/php-fpm
/usr/local/php-5.6.0 /sbin/php-fpm -h
/usr/local/php-5.6. 0/sbin/php-fpm–t
/usr/local/php-5.6.0/sbin/php-fpm–R
Starten Sie schließlich Nginx neu und warten Sie eine Weile
Wenn die obige Methode nicht funktioniert, können Sie Folgendes versuchen:
1. Die Anzahl der PHP-FPM-Prozesse reicht nicht aus. Verwenden Sie Verwenden Sie netstat -napo |. grep "php-fpm" |. wc -l, um die aktuelle Anzahl der Fastcgi-Prozesse zu überprüfen. Wenn die Anzahl der in conf konfigurierten Obergrenze liegt. Aber es kann nicht endlos erhöht werden, je nach Serverspeicher sind es 200 genug. 2. Erhöhen Sie die Anzahl der geöffneten Dateien im Linux-Kernel Sie können diese Befehle verwenden (muss ein Root-Konto sein)echo 'ulimit -HSn 65536' >> /etc/profileecho 'ulimit -HSn 65536' >> /etc/rc.localsource /etc/profile 3. Zeitüberschreitung bei der Skriptausführung Wenn das Skript aus irgendeinem Grund lange wartet, ohne zurückzukehren, was dazu führt, dass neue Anforderungen nicht verarbeitet werden, können Sie die folgende Konfiguration entsprechend anpassen. nginx.conf enthält hauptsächlich die folgenden Inhalte: fastcgi_connect_timeout 300;
fastcgi_read_timeout 300; 🎜>
php-fpm.conf, wenn es wie folgt ist request_terminate_timeout = 10s4. Die Cache-Einstellung ist relativ klein Konfiguration zu nginx.conf ändern oder hinzufügenproxy_buffer_size 64k;proxy_buffers 512k;proxy_busy_buffers_size 128k;
5. recv() ist beim Lesen des Antwortheaders vom Upstream fehlgeschlagen (104: Verbindung vom Peer zurückgesetzt)Mögliche Gründe sind Paketverlust im Computer Raumnetzwerk oder Computerraum Es gibt eine Hardware-Firewall, die den Zugriff auf diesen Domainnamen verbietet Aber das Wichtigste ist, im Programm ein Timeout festzulegen. Verwenden Sie nicht request_terminate_timeout von PHP. fpm, Es ist am besten, request_terminate_timeout=0 zu setzen;Da dieser Parameter den PHP-Prozess direkt beendet und dann den PHP-Prozess neu startet , sodass der Front-End-Nginx 104: Verbindung vom Peer zurückgesetzt zurückgibt. Dieser Prozess ist sehr langsam und es entsteht insgesamt der Eindruck, dass die Website feststeckt. 01. Mai 10:50:58.044162 [WARNUNG] [pool www] Kind 4074, Skript '/usr/local/nginx/html/quancha/sameip/detail.php' Ausführungszeitpunkt out (15.129933 Sek.), beendet1. Mai 10:50:58.045725 [WARNUNG] [Pool www] Kind 4074 wurde bei Signal 15 SIGTERM nach 90.227060 Sekunden nach dem Start verlassen1. Mai 10:50:58.046818 [HINWEIS] [ Pool www] Kind 4082 gestartet
Das Wichtigste ist, das Timeout im Programm zu steuern. Das Timeout muss für gethostbyname, curl, file_get_contents und andere Funktionen festgelegt werden. Das andere ist Duoshuo. Dieses Ding erhöht die Interaktivität der Website, aber die Reaktion wird langsamer, wenn es zu oft verwendet wird. Wenn Ihre Website abläuft und Duoshuo verwendet wird.
Das Obige stellt die Lösung für den 502 Bad Gateway-Fehler in Nginx PHP-FPM vor, einschließlich der relevanten Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.