O PHP-FPM não inicia automaticamente após a reinicialização


15

Estou executando o PHP-FPM e o Nginx, ocasionalmente, por qualquer motivo, tenho que reiniciar o servidor. Quando o servidor está em execução novamente, o serviço nginx é iniciado automaticamente; no entanto, o PHP-FPM não. Isso pode ser visto quando executo o comando sudo /etc/init.d/php-fpm restartimediatamente após uma reinicialização e obtenho o resultado:

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

Esse comportamento é esperado? Qual é a melhor maneira de fazer o PHP-FPM iniciar automaticamente? Existe uma opção de configuração em algum lugar ou preciso adicionar o comando a um dos scripts de inicialização do Linux?

Obrigado.


Qual distribuição linux você está usando? Como você instalou o php-fpm? De um pacote ou de fontes?
Tonin

Está sendo executado em uma instância do Amazon EC2 Linux, o PHP-FPM foi instalado usando #yum install -y php-fpm
SteveEdson 20/12/12

Respostas:



4

Acabei de encontrar esse mesmo problema no Ubuntu 16.04 e estou deixando minha resposta aqui para futuros usuários do Google que se deparam com o problema. Como chkconfigé principalmente específico para o CentOS, obviamente não existe no Ubuntu. Aparentemente, para obter um PHP personalizado ( php-fpmSAPI) para iniciar na inicialização systemd, que é novo no Ubuntu 16.04 (anteriormente, Upstart), ele precisa ser registrado no sistema, além de apenas soltar o init.dscript /etc/init.d/. Para registrar o script, executei:

update-rc.d php-fpm defaults

Um reboote subsequente ps auxconfirmou que php-fpmestava realmente começando na inicialização. Também foi adicionado a /etc/init.d/.depend.start.

Outros pensamentos: O Ubuntu Upstart foi bom o suficiente para que eu nunca tivesse que correr update-rc.ddepois de colocar um script init.d - ele simplesmente funcionou. Esqueci completamente esse comando.


2
A pergunta original é sobre o Amazon Linux, não sei dizer quantos usuários do Ubuntu o verão. Quanto ao 16.04 e systemd, o que se deve fazer é usar uma unidade systemd adequada, em vez do script iniciante antigo ou antigo. Você deve encontrar uma unidade utilizável do sistema com o pacote distro ou em outro local.
Michael Hampton

Eu sou um usuário do Ubuntu 14.04 e isso me ajudou, obrigado! PS: sudopode ser necessário para esse comando.
Edson Horacio Junior
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.