PHP-FPM nie uruchamia się automatycznie po ponownym uruchomieniu


15

Korzystam z PHP-FPM i Nginx, czasami z jakiegokolwiek powodu muszę zrestartować serwer. Po ponownym uruchomieniu serwera usługa nginx uruchamia się automatycznie, jednak PHP-FPM nie. Można to zobaczyć, gdy uruchamiam polecenie sudo /etc/init.d/php-fpm restartnatychmiast po ponownym uruchomieniu i uzyskuję wynik:

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

Czy to oczekiwane zachowanie? Jaki jest najlepszy sposób na automatyczne uruchomienie PHP-FPM? Czy jest gdzieś opcja konfiguracji, czy muszę dodać polecenie do jednego ze skryptów startowych systemu Linux?

Dzięki.


Jakiej dystrybucji linux używasz? Jak zainstalowałeś php-fpm? Z paczki czy ze źródeł?
Tonin,

Działa na instancji Amazon EC2 Linux, PHP-FPM został zainstalowany przy użyciuyum install -y php-fpm
SteveEdson

Odpowiedzi:



4

Właśnie natrafiłem na ten problem na Ubuntu 16.04 i zostawiam tutaj swoją odpowiedź dla przyszłych użytkowników Google, którzy natkną się na problem. Ponieważ chkconfigjest głównie specyficzny dla CentOS, oczywiście nie istnieje na Ubuntu. Najwyraźniej, aby uzyskać niestandardowy PHP ( php-fpmSAPI) do uruchamiania przy rozruchu systemd, co jest nowością w Ubuntu 16.04 (wcześniej Upstart), musi być zarejestrowany w systemie poza zwykłym wpuszczeniem init.dskryptu /etc/init.d/. Aby zarejestrować skrypt, uruchomiłem:

update-rc.d php-fpm defaults

A rebooti kolejne ps auxpotwierdziły, że php-fpmrzeczywiście zaczyna się od rozruchu. Zostało również dodane do /etc/init.d/.depend.start.

Inne przemyślenia: Ubuntu Upstart był na tyle miły, że nigdy nie musiałem biegać update-rc.dpo umieszczeniu skryptu init.d - po prostu działało. Całkowicie zapomniałem o tym poleceniu.


2
Pierwotne pytanie dotyczy Amazon Linux. Nie mogę powiedzieć, ilu użytkowników Ubuntu to zobaczy. Jeśli chodzi o 16.04 i systemd, rzeczą do zrobienia jest użycie odpowiedniej jednostki systemowej, a nie starego stylu uruchamiania lub starożytnego skryptu inicjującego. Powinieneś być w stanie znaleźć użyteczną systemową jednostkę z pakietem dystrybucyjnym lub w innym miejscu.
Michael Hampton

Jestem użytkownikiem Ubuntu 14.04 i pomogło mi to, dziękuję! PS: sudomoże być potrzebne do tego polecenia.
Edson Horacio Junior
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.