Como corrigir nginx 'nenhum arquivo de entrada' quando o caminho e as permissões estão bem?

1

Eu sei que essa é uma pergunta comum, mas não encontrei nenhuma discussão que correspondesse exatamente ao meu caso.

O log de erros do nginx mostra:

FastCGI sent in stderr: "Unable to open primary script: /usr/share/nginx/drupal7/index.php

Mas:

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

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

  3. raiz nginx AND fpm/pool.d/myserver.conf chroot apontam para a mesma pasta: /usr/share/nginx/drupal7

  4. www-data usuário e grupo têm 660 de acesso a essa mesma pasta em pool.d/myserver.conf

  5. ps -u www-data mostra que possui os processos nginx e php5-fpm

  6. Eu não tenho o SElinux instalado (como algumas discussões dizem que poderia ser o problema)

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

    
por Giova 22.08.2015 / 15:00

1 resposta

1

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

/index.php

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

    
por 22.08.2015 / 17:09

Tags