PHP-FPM startet nach dem Neustart nicht automatisch

15

Ich verwende PHP-FPM und Nginx. Gelegentlich muss ich den Server aus irgendeinem Grund neu starten. Sobald der Server wieder läuft, startet der Nginx-Dienst automatisch, PHP-FPM jedoch nicht. Dies ist zu sehen, wenn ich den Befehl sudo /etc/init.d/php-fpm restartsofort nach einem Neustart ausführe und das Ergebnis erhalte:

$ sudo /etc/init.d/php-fpm restart
Stopping php-fpm:                                          [FAILED]
Starting php-fpm:                                          [  OK  ]

Ist das erwartetes Verhalten? Wie lässt sich PHP-FPM am besten automatisch starten? Gibt es irgendwo eine Konfigurationsoption oder muss ich den Befehl einem der Linux-Startskripte hinzufügen?

Vielen Dank.

SteveEdson
quelle
Welche Linux-Distribution verwenden Sie? Wie hast du php-fpm installiert? Aus einem Paket oder aus Quellen?
Tonin
Es läuft auf einer Amazon EC2 Linux-Instanz, PHP-FPM wurde mityum install -y php-fpm
SteveEdson

Antworten:

27

So richten Sie es ein, um beim Booten zu beginnen:

chkconfig php-fpm on
Michael Hampton
quelle
1
So einfach ist das, genial! Cheers
SteveEdson
4

Ich bin auf Ubuntu 16.04 auf genau dieses Problem gestoßen und überlasse meine Antwort hier zukünftigen Nutzern von Google, die auf das Problem stoßen. Da chkconfiges sich hauptsächlich um CentOS handelt, ist es auf Ubuntu offensichtlich nicht vorhanden. Um ein benutzerdefiniertes PHP ( php-fpmSAPI) beim Booten zu starten systemd, das neu in Ubuntu 16.04 (zuvor Upstart) ist, muss es anscheinend beim System registriert init.dwerden /etc/init.d/. Um das Skript zu registrieren, habe ich ausgeführt:

update-rc.d php-fpm defaults

A rebootund folgende ps auxbestätigten, dass php-fpmtatsächlich beim Booten gestartet wurde. Es wurde auch hinzugefügt /etc/init.d/.depend.start.

Weitere Gedanken: Ubuntu Upstart war so nett, dass ich update-rc.dnach dem Platzieren eines init.d-Skripts nie mehr ausführen musste - es hat einfach funktioniert. Ich habe diesen Befehl komplett vergessen.

CubicleSoft
quelle
2
Bei der ursprünglichen Frage zu Amazon Linux kann ich nicht sagen, wie viele Ubuntu-Benutzer sie sehen werden. Was 16.04 und systemd betrifft, ist das Verwenden einer richtigen systemd-Einheit anstelle des alten Startup-Skripts oder des alten Init-Skripts. Sie sollten in der Lage sein, eine verwendbare Systemeinheit mit dem Distributionspaket oder anderswo zu finden.
Michael Hampton
Ich bin ein Ubuntu 14.04 Benutzer und das hat mir geholfen, danke! PS: wird sudomöglicherweise für diesen Befehl benötigt.
Edson Horacio Junior