Ich habe nginx 0.7x + PHP-FPM unter PHP 5.2.10 auf einem RHEL5-Server ausgeführt, aber ich habe versucht, dieses Setup unter dem in PHP 5.3.3 enthaltenen PHP-FPM auf einem zweiten Server zu duplizieren Probleme mit Berechtigungsfehlern bei jedem GET.
FPM wird gestartet und bestätigt, dass fastcgi auf 9000 lauscht, aber jedes Mal, wenn ich ein GET durchführe, wird dieser Fehler im nginx-Protokoll angezeigt:
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 funktioniert zumindest. Hier ist meine 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;
}
}
(Die zusätzlichen Rewrite-Anweisungen gelten für die Verwendung von WordPress Multisite, auch bekannt als WordPress MU)
Ich habe auch überprüft, dass Benutzer-WWW-Daten nicht nur in der Datei nginx.conf, sondern auch in der Datei php-fpm.conf für Benutzer- und Gruppenwerte deklariert sind.
Vielleicht verstehe ich nicht, was die Fehlermeldung 13 verursacht? Seltsamerweise hatte ich versucht, dev.noisepages.com auf dem ersten Server parallel zu ein paar anderen virtuellen Hosts einzurichten, von denen jeder einwandfrei funktionierte, und dabei den gleichen Fehler festgestellt.
Stellen Sie sicher, dass / home / dev die richtigen Berechtigungen hat
quelle
Ich hatte auch Probleme mit Berechtigungen in PHP-Fpm, insbesondere mit PHP-Sitzungen. Es stellte sich heraus, dass ich nur den Benutzer ändern musste, den php-fpm zum Ausführen von Prozessen verwendet, da er standardmäßig auf "nobody" -Benutzer eingestellt war.
Tutorial dazu hier: http://www.duchnik.com/tutorials/setting-up-php-with-nginx/
quelle
Ich hatte ein simlares Problem, das mich hierher brachte. Meine Lösung (basierend auf der ausgewählten Antwort) war do a
Jetzt funktioniert es gut :)
quelle