
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:
este caminho está correto, esta é a raiz do meu site
www-data
tem permissão para acessá-lo (se eu tiversu www-data
,cat /usr/share/nginx/drupal7/index.php
o arquivo será exibido).tanto nginx root quanto
fpm/pool.d/myserver.conf
chroot apontam para a mesma pasta:/usr/share/nginx/drupal7
www-data
usuário e grupo têm660
acesso a esta mesma pasta empool.d/myserver.conf
ps -u www-data
mostra que possui processos nginx e php5-fpmNão tenho o SElinux instalado (como algumas discussões dizem que pode ser o problema)
Então, por que o www-data
usuário pode acessar o meu, index.php
mas 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.