Tengo nginx 0.7x + PHP-FPM ejecutándose bajo PHP 5.2.10 en un servidor RHEL5, pero tratando de duplicar esa configuración bajo el paquete PHP-FPM incluido en PHP 5.3.3 en un segundo servidor, estoy teniendo algunos problemas con los errores de permisos cada vez que hay un GET.
Se inicia FPM y se confirma que fastcgi está escuchando en 9000, pero cada vez que hago un GET, veo este error en el registro nginx:
2010/08/12 23:38:53 [crit] 5019#0: *5 stat() "/home/noisepages/www/" failed (13: Permission denied), client: 24.215.173.141, server: dev.noisepages.com, request: "GET / HTTP/1.1", host: "dev.noisepages.com"
Barebones nginx.conf.default funciona, al menos. Aquí está mi nginx.conf
server {
listen 80;
server_name dev.noisepages.com;
root /home/noisepages/www;
index index.html index.htm index.php;
access_log logs/dev.access.log;
error_log logs/dev.error.log;
location / {
if (-f $request_filename) {
expires 30d;
break;
}
# this sends all non-existing file or directory requests to index.php
rewrite ^.*/files/(.*) /wp-includes/ms-files.php?file=$1;
if (!-e $request_filename) {
rewrite ^.+?(/wp-.*) $1 last;
rewrite ^.+?(/.*\.php)$ $1 last;
rewrite ^ /index.php last;
}
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/dev/shm/php-fastcgi.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/dev/www/$fastcgi_script_name;
}
}
(Las directivas adicionales de reescritura son para el uso de WordPress multisite, también conocido como WordPress MU)
También he verificado que el usuario www-data se declara no solo en nginx.conf sino también en php-fpm.conf para los valores de usuario y grupo.
¿Quizás no entiendo qué causa el mensaje de error 13? Por extraño que parezca, intenté configurar dev.noisepages.com en el primer servidor en paralelo con un par de otros hosts virtuales, cada uno de los cuales funcionaba bien, y obtuve el mismo error.
asegúrese de que / home / dev tenga los permisos correctos
fuente
También tuve problemas con los permisos en php-fpm, en particular con las sesiones de php. Resultó que solo tenía que modificar el usuario que php-fpm usa para ejecutar procesos, ya que por defecto estaba configurado como "nadie".
tutorial sobre esto aquí: http://www.duchnik.com/tutorials/setting-up-php-with-nginx/
fuente
Tuve un problema similar que me trajo aquí. Mi solución (basada en la respuesta elegida) fue hacer un
Ahora funciona bien :)
fuente