PHP-FPM ne démarre pas automatiquement après le redémarrage


15

J'utilise PHP-FPM et Nginx, parfois, pour une raison quelconque, je dois redémarrer le serveur. Une fois que le serveur fonctionne à nouveau, le service nginx démarre automatiquement, mais pas PHP-FPM. Cela peut être vu lorsque j'exécute la commande sudo /etc/init.d/php-fpm restartimmédiatement après un redémarrage et que j'obtiens le résultat:

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

Est-ce un comportement attendu? Quelle est la meilleure façon de faire démarrer automatiquement PHP-FPM? Y a-t-il une option de configuration n'importe où, ou dois-je ajouter la commande à l'un des scripts de démarrage Linux?

Merci.


Quelle distribution Linux utilisez-vous? Comment avez-vous installé php-fpm? À partir d'un package ou de sources?
— Tonin

Il fonctionne sur une instance Linux Amazon EC2, PHP-FPM a été installé à l'aide deyum install -y php-fpm
— SteveEdson

Réponses:



4

Je viens de rencontrer ce problème sur Ubuntu 16.04 et je laisse ma réponse ici aux futurs utilisateurs de Google qui tombent sur le problème. Étant donné qu'il chkconfigest principalement spécifique à CentOS, il n'existe évidemment pas sur Ubuntu. Apparemment, pour obtenir un PHP personnalisé ( php-fpmSAPI) pour démarrer au démarrage systemd, qui est nouveau pour Ubuntu 16.04 (précédemment, Upstart), il doit être enregistré auprès du système au-delà de la simple suppression du init.dscript /etc/init.d/. Pour enregistrer le script, j'ai couru:

update-rc.d php-fpm defaults

A rebootet les suivants ont ps auxconfirmé que cela php-fpmcommençait effectivement au démarrage. Il a également été ajouté à /etc/init.d/.depend.start.

Autres réflexions: Ubuntu Upstart était assez sympa pour que je n'ai jamais eu à courir update-rc.daprès avoir placé un script init.d - ça a juste fonctionné. J'ai complètement oublié cette commande.


2
La question d'origine étant sur Amazon Linux, je ne peux pas dire combien d'utilisateurs d'Ubuntu le verront. Comme pour 16.04 et systemd, la chose à faire est d'utiliser une unité systemd appropriée plutôt que le script upstart à l'ancienne ou l'ancien script init. Vous devriez pouvoir trouver une unité systemd utilisable avec le package distro, ou ailleurs.
— Michael Hampton

Je suis un utilisateur d'Ubuntu 14.04 et cela m'a aidé, merci! PS: sudopourrait être nécessaire pour cette commande.
— Edson Horacio Junior du
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.