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-Dienst läuft nicht oder ist abgestürzt
- Falsche Socket- oder Port-Konfiguration
- Zu wenig PHP-FPM-Prozesse (
pm.max_children) - Fehlerhafte Berechtigungen für Sockets
- Netzwerk- oder Firewall-Probleme bei TCP-Sockets
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
- Nginx:
fastcgi_read_timeout 120s; - Apache:
ProxyTimeout 120
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:
- PHP-FPM Error Logs:
/var/log/php7.4-fpm.log - Webserver Error Logs:
/var/log/nginx/error.logoder/var/log/apache2/error.log - Slow-Log von PHP-FPM für lange Skripte aktivieren:
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
- PHP-FPM immer auf aktuelle Version aktualisieren
- Separate Pools für jede Website/Projekt zur Isolation
- Memory-Limits und max_children an den Bedarf anpassen
- Timeouts sowohl in PHP-FPM als auch im Webserver setzen
- Sockets korrekt mit www-data/Apache/Nginx-Rechten ausstatten
- Slow-Log aktivieren, um lange Skripte zu identifizieren
- Webserver-Konfiguration nach jeder Änderung testen
- Monitoring einrichten, um Lastspitzen frühzeitig zu erkennen
- Regelmäßig Logs analysieren und optimieren
- Firewall und Netzwerkeinstellungen für Multi-Server Setups prüfen
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:
-
Professionelle Konfiguration von Routern und Switches
-
Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen
-
Erstellung von Topologien und Simulationen in Cisco Packet Tracer
-
Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG
-
Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible
-
Erstellung von Skripten für wiederkehrende Netzwerkaufgaben
-
Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege
-
Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting
Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

