nginx não é capaz de se conectar ao soquete php-fpm

5

Eu configurei um sistema semelhante ao tutorial aqui .

Estou tendo problemas com o nginx se conectando ao soquete php5-fpm, mas pelo que eu posso dizer as permissões no soquete estão corretas ... você pode me dar uma ajuda?

2011/04/14 15:31:24 [crit] 13147#0: *1 connect() to unix:/var/run/php5-fpm.socket failed (2: No such file or directory) while connecting to upstream, client: 74.129.***.***, server: app.mydomain.com, request: "GET /phpinfo.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.socket:", host: "app.mydomain.com"

root@app0:/# ls -l /var/run/php5-fpm.socket
srw-rw-rw- 1 www-data www-data 0 Apr 14 15:51 /var/run/php5-fpm.socket

root@app0:/# ps aux | grep fpm
root     13315  0.0  1.9 168276  4948 ?        Ss   15:51   0:00 /usr/sbin/php5-fpm --fpm-config /etc/php5/fpm/main.conf
www-data 13316  0.0  2.1 168672  5492 ?        S    15:51   0:00 /usr/sbin/php5-fpm --fpm-config /etc/php5/fpm/main.conf

root@app0:/# ps aux | grep nginx
root     13341  0.0  0.4  33200  1036 ?        Ss   15:52   0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /etc/nginx/nginx.conf
www-data 13342  0.0  0.7  34008  1880 ?        S    15:52   0:00 nginx: worker process
www-data 13344  0.0  0.6  33680  1628 ?        S    15:52   0:00 nginx: worker process

Eu tenho algumas personalizações para as configurações que você fornece, mas é basicamente o mesmo. Quer sugerir uma solução de problemas?

    
por zeroasterisk 14.04.2011 / 18:00

3 respostas

7

Esta é uma pegadinha que muitos tutoriais omitem. o usuário do php deve ser o dono do socket. Então você quer ter certeza de que

chown www-data:www-data /var/run/php5-fpm.socket
    
por 20.04.2012 / 10:02
2

Eu não sei o que causou isso exatamente, provavelmente algumas alterações no código PHP, mas eu encontrei uma maneira de corrigir isso:

1) Abra a configuração do seu pool como root, o meu está em: /etc/php5/fpm/pool.d/www.conf

2) Adicione as seguintes linhas:

  • listen.owner = www-data
  • listen.group = www-data

Aqui está a documentação completa para todos os parâmetros de configuração.

3) Reinicie o PHP FPM: sudo service php5-fpm restart

Ele deve recriar o arquivo de soquete com o usuário e grupo adequados:

ls -lah / var / run / | grep php : -rw-r--r-- 1 root root 4 Jun 24 18:19 php5-fpm.pid srw-rw---- 1 www-data www-data 0 Jun 24 18:19 php5-fpm.sock

Espero que ajude! Felicidades!

    
por 25.06.2014 / 00:26
0

Eu tive um problema semelhante. No meu laptop dev (MacOS) eu quero correr tudo na minha própria conta, para manter tudo simples. O nó i do soquete é de minha própria conta.

Eu apenas tive que comentar listen.owner e listen.group no www.conf.

Eu inicio tudo na minha própria conta com "serviços de preparação inicial - todos".

Em www.conf, 'user' ainda está definido como '_www'. O soquete ainda é de minha propriedade. Não tenho certeza porque isso não causa um erro.

    
por 11.07.2018 / 17:39