nginx + PHP-FPM = nginx günlüğünde “izin reddedildi” hatası 13; yapılandırma hatası?


20

Ben bir RHEL5 sunucusunda PHP 5.2.10 altında çalışan nginx 0.7x + PHP-FPM var, ama ikinci bir sunucuda PHP 5.3.3 PHP-FPM birlikte paketlenmiş PHP-FPM altında bu kurulum çoğaltmaya çalışıyorum her GET olduğunda izin hataları ile ilgili bazı sorunlar.

FPM başlatıldı ve fastcgi'nin 9000'de dinlediğini doğruladı, ancak her GET yaptığımda, nginx günlüğünde bu hatayı görüyorum:

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 en azından çalışır. İşte benim 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;
        }
    }

(Ekstra yeniden yazma yönergeleri WordPress çoklu sitesi, WordPress MU kullanımı içindir)

Ben de kullanıcı www-data sadece nginx.conf değil, aynı zamanda kullanıcı ve grup değerleri için php-fpm.conf bildirildi doğruladı.

Belki hata 13 mesajının nedenini anlamıyorum? İşin tuhafı, dev.noisepages.com'u, her biri iyi çalışan ve aynı hatayı alan diğer birkaç sanal ana bilgisayara paralel olarak ilk sunucuda kurmaya çalıştım.

Yanıtlar:


57

Sen sahip olmak gerekir +xüzerindeki tüm sitenin köküne giden yoldaki dizinler - yani /home, /home/noisepagesve/home/noisepages/www


2
Evet, aslında www doğru izinlere sahipti ama yolun tamamı değil! Teşekkürler! Benim için mantıklı - aptalca bir hata.
Peter Kirn

1
Sana başka bir 10 oy verebilseydim yapardım.
Tim

Gerçekten harikasın! Cevabınızı bulmak için Google'da 2 saat geçirdim! Teşekkür ederim!
Serhii Polishchuk

Çok teşekkürler! Bir üretim sunucusuna bulaştım ve bu olduğunda soğuk ter içinde boğuldum ...!
lephleg

5

/ home / dev'in doğru izinlere sahip olduğundan emin olun

chmod +x /home/dev

2

Ben php-fpm izinleri ile, özellikle php oturumları ile sorunları vardı. Ben sadece varsayılan olarak "kimse" kullanıcı olarak ayarlanmış beri php-fpm işlemleri çalıştırmak için kullandığı kullanıcı değiştirmek zorunda çıktı.

öğretici burada: http://www.duchnik.com/tutorials/setting-up-php-with-nginx/


3
Bu teorik olarak soruyu cevaplayabilirken, cevabın temel kısımlarını buraya dahil etmek ve referans için bağlantı sağlamak tercih edilir.
Scott Pack

3
Bağlantı öldü ..
Christoph Bühler

1

Beni buraya getiren bir sorunum vardı. Benim çözümüm (alınan cevaba göre)

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

Şimdi iyi çalışıyor :)


Ancak Chroot kullanıcılarını nasıl kullanırsınız? Köklü kullanıcıları kullanırken, / home / user / www klasörü kullanıcının sahibi olmalıdır ve çalışmaz.
Vincent LITUR

Üzgünüm, bilmiyorum :(
Scott Warren
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.