Fedora - Nginx PHP-FPM - constantemente mudando o FPM Socket para root

0

Desculpas antecipadas se minha terminologia não estiver no mesmo nível.

Então, eu apenas configurei minha máquina de desenvolvimento de trabalho com sucesso no Fedora Workstation com Nginx e várias versões do PHP (usando a Coleção de Software do Remi Collet). Eu tenho PHP-5.6.30 ouvindo na porta 9056 e PHP-7.0.19 ouvindo na porta 9070. Isso funciona perfeitamente.

Esta manhã, decidi tentar executar ambas as instâncias do PHP usando o FPM Sockets, que funcionou inicialmente até que eu reiniciei o serviço PHP-FPM (isso resultou em um 502 Gateway ruim no navegador, e (13) Permissão negada erro no nginx error.log).

Então, usando PHP5.6 como exemplo ... quando iniciei pela primeira vez o php56-php-fpm service que gerou /opt/remi/php56/root/var/run/php-fpm/www.sock , alterei o usuário e o grupo do arquivo www.sock gerado para nginx:nginx . Depois de reiniciar php56-php-fpm , aprendi que www.sock estava sendo redefinido para root:root . Agora concedido eu não vou reiniciar o FPM constantemente, mas deve haver uma maneira de definir alguns padrões no arquivo .sock ?? Meus arquivos fpm conf são parecidos com isto:

  • /opt/remi/php56/root/etc/php-fpm.d/www.conf : link
  • /etc/opt/remi/php70/php-fpm.d/www.conf : link
  • /etc/nginx/nginx.conf : link
  • /etc/nginx/conf.d/default.conf : link

Eu percebo que isso parece uma dor para começar a trabalhar corretamente, considerando que estou apenas fazendo isso para o desenvolvimento local, e que eu fiz tudo isso funcionando corretamente usando portas 9056 & 9070. Mas eu li que há alguns benefícios de velocidade usando sockets versus TCP, e qualquer coisa que acelere meu ambiente de desenvolvimento local vale a pena fazer o esforço para.

Então, minhas perguntas:

  1. O que na minha configuração está incorreto, está fazendo com que o www.sock seja redefinido para root:root após reiniciar o respectivo serviço FPM?
  2. Vale a pena se afastar dos portos em favor dos soquetes?
  3. [um pouco fora do tópico]: usando a coleção de software do Remi Collet, vejo que os 2 pacotes PHP são instalados em locais diferentes: /opt/remi/php56 e /etc/opt/remi/php70 ... para fins de consistência, devo considerar mover um deles destes em um local mais comum?

Obrigado

    
por maGz 25.05.2017 / 14:23

1 resposta

0

Algumas coisas para verificar ...

1) Por padrão, no CentOS o PHP não inclui os arquivos de configuração no diretório php-fpm.d , certifique-se de ter include=/opt/remi/php56/root/etc/php-fpm.d/*.conf no arquivo php-fpm.conf .

2) Você precisa garantir a configuração da propriedade do soquete na configuração do pool php-fpm, por exemplo:

[www]
listen       = /opt/remi/php56/root/var/run/php-fpm/$pool.sock
listen.owner = someuser
listen.group = somegroup
listen.mode  = 0600
    
por 23.08.2017 / 19:14