Como consertar o nginx 'sem arquivo de entrada' quando o caminho e as permissões estão corretos?

Como consertar o nginx 'sem arquivo de entrada' quando o caminho e as permissões estão corretos?

Sei que esta é uma pergunta comum, mas não encontrei nenhuma discussão que corresponda exatamente ao meu caso.

O log de erros do nginx mostra:

FastCGI enviado em stderr: “Não foi possível abrir o script primário: /usr/share/nginx/drupal7/index.php

Mas:

  1. este caminho está correto, esta é a raiz do meu site

  2. www-datatem permissão para acessá-lo (se eu tiver su www-data, cat /usr/share/nginx/drupal7/index.phpo arquivo será exibido).

  3. tanto nginx root quanto fpm/pool.d/myserver.confchroot apontam para a mesma pasta:/usr/share/nginx/drupal7

  4. www-datausuário e grupo têm 660acesso a esta mesma pasta empool.d/myserver.conf

  5. ps -u www-datamostra que possui processos nginx e php5-fpm

  6. Não tenho o SElinux instalado (como algumas discussões dizem que pode ser o problema)

Então, por que o www-datausuário pode acessar o meu, index.phpmas não o FastCGI? Por que o FastCGI tenta o caminho correto, mas depois diz que não existe?

Responder1

Você tem um chroot configurado. Quando o processo está em chroot, o caminho da raiz até o script é assim:

/index.php

Portanto, você precisa modificar os caminhos usados ​​com as chamadas de script FastCGI para que não incluam o caminho completo do diretório para o arquivo de script.

informação relacionada