Site icon bintorosoft.com

PHP-FPM Troubleshooting: 502 Bad Gateway und Timeouts beheben

PHP-FPM ist eine leistungsfähige Möglichkeit, PHP-Anwendungen effizient auszuführen. Dennoch treten häufig Fehler wie 502 Bad Gateway oder Timeouts auf, die die Erreichbarkeit von Webanwendungen beeinträchtigen. In diesem Leitfaden lernen Einsteiger, IT-Studierende und Junior Network Engineers praxisnah, wie typische PHP-FPM-Probleme erkannt, analysiert und behoben werden können.

Ursachen für 502 Bad Gateway

Der Fehler 502 Bad Gateway tritt auf, wenn der Webserver (z. B. Nginx) keine gültige Antwort vom PHP-FPM-Prozess erhält.

PHP-FPM Status prüfen

Die erste Maßnahme ist die Überprüfung, ob PHP-FPM läuft:

sudo systemctl status php7.4-fpm
sudo journalctl -u php7.4-fpm

Alternativ kann geprüft werden, ob der Socket existiert:

ls -l /run/php/php7.4-fpm.sock

Webserver-Konfiguration prüfen

Nginx

Überprüfen Sie, ob der fastcgi_pass auf den korrekten Socket verweist:

server {
    location ~ .php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    }
}

Apache

Bei Apache mit proxy_fcgi muss der Pfad stimmen:

<FilesMatch .php$>
    SetHandler "proxy:unix:/run/php/php7.4-fpm.sock|fcgi://localhost/"
</FilesMatch>

Timeouts beheben

Time-Outs entstehen, wenn Skripte länger als erlaubt laufen oder PHP-FPM Prozesse ausgelastet sind.

PHP-FPM Parameter anpassen

sudo nano /etc/php/7.4/fpm/pool.d/www.conf
pm = dynamic
pm.max_children = 20
pm.start_servers = 4
pm.min_spare_servers = 2
pm.max_spare_servers = 6
request_terminate_timeout = 60
; erhöht auf z. B. 120 für lange Skripte

Webserver Timeout anpassen

Socket-Berechtigungen prüfen

Fehlerhafte Berechtigungen können verhindern, dass der Webserver den PHP-FPM-Socket anspricht.

sudo chown www-data:www-data /run/php/php7.4-fpm.sock
sudo chmod 660 /run/php/php7.4-fpm.sock

Logs analysieren

Logs helfen, die genaue Ursache zu identifizieren:

request_slowlog_timeout = 5s
slowlog = /var/log/php7.4-fpm/slow.log

Netzwerk und Subnetze berücksichtigen

Bei TCP-Sockets oder Multi-Server Setups müssen Firewall und Subnetze richtig konfiguriert sein.

IPv4 Subnetz

<math>
Server-IP = 192.168.180.20/24
Subnetzadresse = 192.168.180.20 & 255.255.255.0 = 192.168.180.0
Broadcastadresse = 192.168.180.0 | ~255.255.255.0 = 192.168.180.255
</math>

IPv6 Subnetz

<math>
Server-IP = 2001:db8:abcd:180::20/64
Subnetzadresse = 2001:db8:abcd:180:: & ffff:ffff:ffff:ffff:: = 2001:db8:abcd:180::0
Broadcastadresse = 2001:db8:abcd:180:ffff:ffff:ffff:ffff
</math>

Best Practices

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Exit mobile version