在nginx日志中,nginx + PHP-FPM =“permission denied”错误13; configuration错误?

我已经在一台RHEL5服务器上运行了PHP 5.2.10下的nginx 0.7x + PHP-FPM,但是试图在第二个服务器上的PHP 5.3.3中绑定的PHP-FPM下复制该设置,每次发生GET都会出现许多错误。

FPM启动,并确认fastcgi正在监听9000,但每次我做一个GET,我在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" 

准系统nginx.conf.default至less起作用。 这是我的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; } } 

(额外的重写指令是为了使用WordPress多站点WordPress MU)

我也validation过,用户www-data不仅在nginx.conf中声明,而且在php-fpm.conf中也声明了用户和组的值。

也许我不明白是什么原因导致错误13消息? 奇怪的是,我试图在第一台服务器上设置dev.noisepages.com,与其他几台虚拟主机并行运行,其中每台虚拟主机都正常工作,并且出现了相同的错误。

您需要确保您在通往站点根目录的path中的所有目录上都有+x ,所以/home/home/noisepages/home/noisepages/www

确保/ home / dev具有正确的权限

 chmod +x /home/dev 

我也遇到了php-fpm的权限问题,特别是在php会话中。 事实certificate,我只是不得不修改php-fpm用来运行进程的用户,因为默认情况下它被设置为“nobody”用户。

教程在这里: http : //www.duchnik.com/tutorials/setting-up-php-with-nginx/

我有一个类似的问题,让我在这里。 我的解决scheme(根据挑选的答案)是做一个

 chown -R root:www-data /home/noisepages/www chmod g+w -R /home/noisepages/www 

现在它工作正常:)