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

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

Peço desculpas antecipadamente se minha terminologia não estiver correta.

Acabei de configurar minha máquina de desenvolvimento de trabalho com sucesso no Fedora Workstation com Nginx e várias versões de PHP (usando a coleção de software de Remi Collet). Eu tenho o PHP-5.6.30 escutando na porta 9056 e o ​​PHP-7.0.19 escutando na porta 9070. Isso funciona perfeitamente.

Esta manhã decidi tentar executar ambas as instâncias PHP usando FPM Sockets, que inicialmente funcionou até eu reiniciar o serviço PHP-FPM (isso resultou em um502 Bad Gatewayno navegador e(13) Permissão negadaerro no nginx error.log).

Então, usando o PHP5.6 como exemplo... quando iniciei o php56-php-fpmserviço que gerou /opt/remi/php56/root/var/run/php-fpm/www.sock, mudei o www.sockusuário e o grupo do arquivo gerado para nginx:nginx. Depois de reiniciar, php56-php-fpmdescobri que www.sockestava sendo redefinido para root:root. Agora, é verdade que não reiniciarei o FPM constantemente, mas deve haver uma maneira de definir alguns padrões no .sockarquivo? Meus arquivos fpm conf são assim:

Sei que parece difícil trabalhar corretamente, considerando que estou fazendo isso apenas para o desenvolvimento local,eque tudo isso funcionou corretamente usando as portas 9056 e 9070. Mas li que há alguns benefícios de velocidade usando soquetes versus TCP, e vale a pena fazer um esforço para qualquer coisa que possa acelerar meu ambiente de desenvolvimento local.

Então, minhas perguntas:

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

Obrigado

Responder1

Algumas coisas para verificar...

1) Por padrão no CentOS o PHP não inclui os arquivos de configuração no php-fpm.ddiretório, certifique-se de tê-los include=/opt/remi/php56/root/etc/php-fpm.d/*.confno php-fpm.confarquivo.

2) Você precisa garantir que definiu a 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

Responder2

No meu caso, no remi's php80-php-fpm, tive que alterar listen.acl_usersa variável ../php-fpm.d/www.confpara o usuário do meu servidor web. Por exemplo:

;comment: replace mywebserveruser with your own user 
listen.acl_users = mywebserveruser

informação relacionada