Da sitzt du also, mitten in der Nacht, mit einem Haufen PHP-FPM-Problemen vor dir. Aber keine Sorge, wir, die PLUTEX IT-Superhelden, sind hier, um dir zu helfen. Und zwar nicht nur, indem wir dir sagen, wie du PHP-FPM sauber betreibst, sondern auch, wie du Pools trennst, Limits setzt und diese vermaledeiten Timeout-Probleme entschärfst.
Zunächst einmal zu den Pools. Ja, wir wissen, du liebst es, alles in einem Pool zu haben, aber das ist kein Schwimmbad, mein Freund. Trenne die Pools, um Isolation zu erreichen und damit das Problem eines Benutzers nicht zum Problem aller wird. Erstelle für jeden Benutzer einen eigenen Pool in deiner php-fpm.d Konfigurationsdatei. Ein Beispiel? Aber sicher doch, hier ist eins:
```
[benutzer1]
user = benutzer1
group = benutzer1
listen = /run/php-fpm/benutzer1.sock
listen.owner = apache
listen.group = apache
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
```
So, jetzt hast du saubere, getrennte Pools. Fühlst du dich schon wie ein PHP-FPM-Rockstar? Gut, lass uns weitermachen.
Als nächstes kommen die Limits. Du weißt, was sie sagen: Setze Limits, sonst frisst PHP-FPM dein Serverleben auf. Nun, das haben sie nicht wirklich gesagt, aber sie sollten es. Die pm.max_children Einstellung ist hier dein Freund. Sie limitiert die Anzahl der Kinderprozesse, die PHP-FPM erstellen kann. Setze diesen Wert nicht zu hoch, sonst könnte dein Speicher überlaufen. Ein guter Ausgangspunkt ist die Formel (RAM - (Nicht-PHP-RAM)) / Größe eines PHP-Prozesses.
Und schließlich, die gefürchteten Timeout-Probleme. Wie oft hast du schon die Meldung "504 Gateway Timeout" gesehen und wolltest deinen Bildschirm zum Fenster rauswerfen? Wir haben die Lösung: request_terminate_timeout. Setze diese Einstellung auf einen angemessenen Wert und PHP-FPM wird Skripte, die länger laufen, gnadenlos abschalten.
```
request_terminate_timeout = 30s
```
So, jetzt bist du gewappnet, um PHP-FPM sauber zu betreiben. Vergiss nicht, nach all den Änderungen deinen PHP-FPM-Dienst neu zu starten. Und denk daran, auch Superhelden brauchen Schlaf, also mach dich nicht verrückt, wenn nicht alles auf Anhieb klappt. Wir sind immer hier, um dir zu helfen.