nginx + php5-fpm: Recurso temporariamente indisponível

1

Eu tenho um nginx (em um contêiner do Docker Debian) com esta configuração para um aplicativo Symfony:

location ~ ^/api/(app|app_dev|config)\.php(/|$) {
    root /var/www/backend/web/;
    fastcgi_split_path_info ^/api/(.+\.php)(/.+)$;
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
    fastcgi_param HTTPS off;
}

O local é reconhecido corretamente, o SCRIPT_FILENAME aponta para o arquivo correto. No entanto, recebo

recv() not ready (11: Resource temporarily unavailable)

nos logs de depuração do nginx sempre que faço uma solicitação. nginx responde com 504 Gateway Time-out .

Existem trabalhadores ociosos no fpm que são refeitos no momento em que eu os mato, parece certo para mim, já que é uma piscina. Eu tentei usar 127.0.0.1:9000 em vez do soquete, mas a mesma coisa. Isso provavelmente não é uma questão de carga ou memória, há muita RAM disponível e estou fazendo apenas uma única solicitação, a carga da CPU é de 0.0.

Como posso fazer o FPM funcionar com o nginx?

    
por Tim-Erwin 16.07.2018 / 17:15

1 resposta

0

As coisas óbvias que vejo no seu snippet de configuração são stray / characters:

    fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;

Observe que na configuração de exemplo, isso está ausente.

    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

Você também tem um desvio / na diretiva root .

    root /var/www/backend/web/;

Eu esperava ver:

    root /var/www/backend/web;

Com sua configuração existente, SCRIPT_FILENAME é definido como, por exemplo %código%. Isso realmente não deveria importar, mas é possível que você tenha encontrado um cenário onde isso importa.

Se isso não resolver, comece a analisar o código do seu aplicativo.

    
por 17.07.2018 / 00:12