Falha ao implementar o armazenamento em cache do Nginx - conexão recusada

2

Estou tendo problemas para fazer o meu site funcionar depois de tentar implementar o cache do Nginx.

Eu uso Ubuntu 16.04 (xenial), Nginx (1.10.3), PHP-FPM (7.0) e WordPress.

A porta 9000 (para o php-fpm) não é filtrada pelo UFW.

Reproduzindo meu ambiente

1 - definindo confs:

2 - Criando um diretório de cache:

mkdir -p /var/cache/nginx/fastcgi_temp/cache/
chmod 755 /var/cache/nginx/fastcgi_temp/cache/
chown www-data:www-data /var/cache/nginx/fastcgi_temp/cache/

3 - reinicialização do servidor:

systemctl restart nginx.service
/etc/init.d/php*-fpm restart

4- Erro e depuração tenta:

*1 connect() failed (111: Connection refused) while connecting to upstream,
client: MY_IP_ADDRESS, server: example.com, request: "GET /
HTTP/2.0", upstream: "fastcgi://127.0.0.1:9000".

O navegador fornece:

502 Bad Gateway nginx/1.10.3 (Ubuntu)

Depurar:

/etc/init.d/php*-fpm status

traz:

● php7.0-fpm.service - The PHP 7.0 FastCGI Process Manager
   Loaded: loaded (/lib/systemd/system/php7.0-fpm.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2018-04-27 07:09:28 UTC; 3s ago
  Process: 16336 ExecStartPre=/usr/lib/php/php7.0-fpm-checkconf (code=exited, status=0/SUCCESS)
 Main PID: 16346 (php-fpm7.0)
   Status: "Ready to handle connections"

Minha pergunta

Por que a conexão foi recusada e meu site está desativado?

Atualização para o NerdOfLinux:

+ curl -I example.com
HTTP/1.1 301 Moved Permanently
Content-Type: text/html
Content-Length: 194
Connection: keep-alive

e

grep "listen" /etc/php/7.0/fpm/pool.d/www.conf | grep -v ";"
+ grep --color=auto -v ';'
+ grep --color=auto listen /etc/php/7.0/fpm/pool.d/www.conf
listen = /run/php/php7.0-fpm.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
    
por user9303970 13.04.2018 / 11:49

2 respostas

2

O problema em questão é uma configuração incorreta feita por você da diretiva nginx fastcgi_pass para apontar para um gateway de backend / upstream inexistente.

Desde 14.10 (ou era 15.10, eu não me lembro agora exatamente) php-fpm escuta em um soquete UNIX local e não a porta TCP 9000 por padrão. Eu sei disso porque eu encabeei o esforço para fazer essa mudança no Ubuntu e no Debian para os padrões do FPM, e isso foi aceito na embalagem. E eu sei que esta é a sua configuração por causa da listen = linha do seu FPM www.conf que diz que está escutando em um soquete.

Coloque unix:/run/php/php7.0-fpm.sock na sua diretiva fastcgi_pass no bloco de servidor nginx , e não no 127.0.0.1:9000 que você tem. Isso deve permitir que ele funcione corretamente porque o gateway PHP correto é usado.

    
por Thomas Ward 27.04.2018 / 13:31
-1

verifique sua definição do conjunto php-fpm que pode ser encontrado em /etc/php/7.0/fpm/pool.d

O usuário www-data é usado para executar o php-fpm:

user = www-data group = www-data

    
por Aditya 24.04.2018 / 10:08