
Sé que esta es una pregunta común, pero no encontré ninguna discusión que coincida exactamente con mi caso.
El registro de errores de nginx muestra:
FastCGI enviado en stderr: "No se puede abrir el script principal: /usr/share/nginx/drupal7/index.php
Pero:
esta ruta es correcta, esta es la raíz de mi sitio web
www-data
su www-data
tiene permiso para acceder a él (si lo tengo ,cat /usr/share/nginx/drupal7/index.php
se muestra el archivo).Tanto nginx root como
fpm/pool.d/myserver.conf
chroot apuntan a la misma carpeta:/usr/share/nginx/drupal7
www-data
El usuario y el grupo tienen660
acceso a esta misma carpeta enpool.d/myserver.conf
ps -u www-data
muestra que posee procesos nginx y php5-fpmNo tengo SElinux instalado (como dicen algunas discusiones, podría ser el problema)
Entonces, ¿por qué el www-data
usuario puede acceder a mi index.php
pero no a FastCGI? ¿Por qué FastCGI intenta la ruta correcta, pero luego dice que no existe?
Respuesta1
Tienes un chroot configurado. Cuando el proceso está en chroot, la ruta desde la raíz hasta el script es así:
/index.php
Por lo tanto, debe modificar las rutas utilizadas con las llamadas al script FastCGI para que no incluyan la ruta completa del directorio al archivo del script.