PHP-FPM non si avvia automaticamente dopo il riavvio


15

Sto eseguendo PHP-FPM e Nginx, di tanto in tanto, per qualsiasi motivo, devo riavviare il server. Una volta che il server è di nuovo in esecuzione, il servizio nginx si avvia automaticamente, tuttavia PHP-FPM no. Questo può essere visto quando eseguo il comando sudo /etc/init.d/php-fpm restartimmediatamente dopo un riavvio e ottengo il risultato:

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

Questo comportamento è previsto? Qual è il modo migliore per avviare automaticamente PHP-FPM? Esiste un'opzione di configurazione da qualche parte o devo aggiungere il comando a uno degli script di avvio di Linux?

Grazie.


Quale distribuzione di Linux stai usando? Come hai installato php-fpm? Da un pacchetto o da fonti?
Tonin,

Funziona su un'istanza di Amazon EC2 Linux, PHP-FPM è stato installato utilizzandoyum install -y php-fpm
SteveEdson il

Risposte:



4

Ho appena riscontrato questo problema su Ubuntu 16.04 e sto lasciando la mia risposta qui per i futuri utenti di Google che si imbattono nel problema. Poiché chkconfigè principalmente specifico di CentOS, ovviamente non esiste su Ubuntu. Apparentemente, per ottenere un PHP ( php-fpmSAPI) personalizzato per l'avvio all'avvio systemd, che è una novità di Ubuntu 16.04 (in precedenza, Upstart), deve essere registrato con il sistema oltre a trascinare lo init.dscript /etc/init.d/. Per registrare lo script, ho eseguito:

update-rc.d php-fpm defaults

A reboote successive ps auxconfermarono che php-fpmeffettivamente stava iniziando all'avvio. Inoltre è stato aggiunto a /etc/init.d/.depend.start.

Altri pensieri: Ubuntu Upstart è stato abbastanza carino da non dover mai funzionare update-rc.ddopo aver inserito uno script init.d - ha funzionato. Dimenticato completamente quel comando.


2
La domanda originale riguarda Amazon Linux, non posso dire quanti utenti Ubuntu lo vedranno. Per quanto riguarda 16.04 e systemd, la cosa da fare è usare una corretta unità systemd piuttosto che il vecchio stile upstart o l'antico script init. Dovresti essere in grado di trovare un'unità systemd utilizzabile con il pacchetto distro o altrove.
Michael Hampton

Sono un utente Ubuntu 14.04 e questo mi ha aiutato, grazie! PS: sudopotrebbe essere necessario per quel comando.
Edson Horacio Junior,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.