Acabo de instalar nginx 1.1.13 y php 5.4.0 en una máquina centos 5.8 final de 64 bits. Nginx y PHP / Fpm se están ejecutando, y puedo ejecutar scripts php a través de la línea de comandos ssh, pero en el navegador sigo obteniendo 'Archivo no encontrado'. errores en todos mis archivos PHP.
Así es como hago que mi nginx.conf maneje los scripts PHP:
location ~ \.php$
{
root /opt/nginx/html;
fastcgi_pass unix:/tmp/fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /opt/nginx/html$fastcgi_script_name;
include fastcgi_params;
}
Esta es una copia / pegado directo de mis otros servidores, donde funciona bien con esta configuración (pero ejecutan versiones anteriores de php / fpm).
¿Por qué recibo esos errores?
Respuestas:
Pon "include fastcgi_params;" antes de todas las líneas "fastcgi_param *", "include fastcgi_params;" anula todas las líneas "fastcgi_param *" (consulte el registro de depuración nginx):
fuente
Tuve el mismo problema.
Lo que hice para resolver esto fue verificar al usuario que ejecuta nginx, php-fpm y verificar sus permisos para acceder a la carpeta donde está la raíz. Es por defecto 'www-data'.
pero puedes averiguarlo usando los comandos
ps aux | grep php-fpm
yps aux | grep nginx
.Debe asegurarse de que la carpeta sea accesible para el usuario que ejecuta estos procesos.
fuente
Tuve el mismo problema, y para mí fue una directiva "root" mal configurada / no existente en la configuración del servidor nginx
fuente
Yo uso esa configuración, desearía que pudiera ayudarte. Funciona en OS X. En cuanto a mí, la respuesta de @Xosofox funcionó. Escribí mal la versión de nginx 1.6.2 como 1.2.6, de modo que la raíz se convirtió en un directorio no existente.
fuente
Resuelvo este problema cambiando el usuario y el grupo por el usuario actual: grupo en php-fpm.d / www.conf
Por defecto, el usuario y el grupo es 'nginx', cambie esto ...
Espero que esto ayude
fuente