nginx + পিএইচপি-এফপিএম = "অনুমতি অস্বীকার" ত্রুটি 13 এনজিএনএক্স লগ এ; কনফিগারেশন ভুল?


20

আমি একটি RHEL5 সার্ভারে পিএইচপি 5.2.10 এর অধীনে এনজিঙ্ক্স 0.7x + পিএইচপি-এফপিএম পেয়েছি, কিন্তু দ্বিতীয় সার্ভারে পিএইচপি 5.3.3-তে বান্ডিল-ইন পিএইচপি-এফপিএম এর অধীনে সেই সেটআপটি নকল করার চেষ্টা করছি, আমার আছে অনুমতি প্রাপ্তিতে ত্রুটি সহ কিছু সমস্যা প্রতিবারই জিইটি থাকাকালীন।

এফপিএম শুরু হয়েছে, এবং নিশ্চিত করেছে যে ফাস্টসিজি 9000-এ শুনছে, তবে প্রতিবার আমি জিইটি করি, আমি এই ত্রুটিটি এনজিঙ্ক্স লগে দেখছি:

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 কাজ করে। এখানে আমার 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;
        }
    }

(অতিরিক্ত পুনর্লিখনের নির্দেশাবলী হ'ল ওয়ার্ডপ্রেস মাল্টিসাইট ওরফে ওয়ার্ডপ্রেস এম ইউ ব্যবহারের জন্য)

আমি এটিও যাচাই করেছি যে ব্যবহারকারীর www-ডেটা কেবল nginx.conf-তে নয় বরং ব্যবহারকারী এবং গোষ্ঠী মানের জন্য পিএইচপি-এফএমপিএনএফ-তে ঘোষণা করা হয়েছে।

সম্ভবত আমি বুঝতে পারছি না যে ত্রুটি 13 বার্তাটির কারণ? অদ্ভুতভাবে যথেষ্ট, আমি প্রথম সার্ভারে কিছু অন্যান্য ভার্চুয়াল হোস্টের সমান্তরালভাবে dev.noisepages.com স্থাপন করার চেষ্টা করেছি - যার প্রত্যেকে ভাল কাজ করছিল - এবং একই ত্রুটি পেয়েছি।

উত্তর:


57

আপনি নিশ্চিত করার আপনি প্রয়োজন +xউপর সব পাথ ডিরেক্টরি সাইটের রুট নেতৃস্থানীয় এর - তাই /home, /home/noisepagesএবং/home/noisepages/www


2
হ্যাঁ, আসলে www এর সঠিক অনুমতি ছিল কিন্তু পুরো পথটি ছিল না! ধন্যবাদ! বোধগম্য - আমার পক্ষ থেকে বোবা ভুল।
পিটার কার্ন

1
আমি যদি আপনাকে আরও 10 টি আপগেট দিতে পারি তবে আমি করব।
টিম

আপনি সত্যিই শান্ত! আমি আপনার উত্তর খুঁজে পেতে গুগলে 2 ঘন্টা ব্যয়! ধন্যবাদ!
সেরিহি পোলিশচুক

অনেক ধন্যবাদ! আমি একটি প্রোডাকশন সার্ভারে জগাখিচুড়ি করছিলাম এবং যখন এই ঘটনাটি ঘটে তখন আমি শীতল ঘামে ডুবে যাই ...!
লেফলেগ

5

নিশ্চিত করুন / হোম / দেবের সঠিক অনুমতি আছে

chmod +x /home/dev

2

আমার পিএইচপি-এফপিএম-এর অনুমতি নিয়ে সমস্যা ছিল, বিশেষত পিএইচপি সেশনগুলির সাথে। দেখা গেছে যে পিএইচপি-এফপিএম প্রসেস চালানোর জন্য ব্যবহার করে এমন ব্যবহারকারীকে আমাকে কেবল পরিবর্তন করতে হয়েছিল, কারণ ডিফল্টরূপে এটি "কেউ নয়" ব্যবহারকারীকে সেট করা হয়েছিল set

টিউটোরিয়াল এটি এখানে: http://www.duchnik.com/tutorials/setting-up-php-with-nginx/


3
যতক্ষণ এই তাত্ত্বিক প্রশ্নের উত্তর হতে পারে, এটা বাঞ্ছনীয় হবে উত্তর অপরিহার্য অংশের এখানে অন্তর্ভুক্ত করা, এবং রেফারেন্স এর জন্য লিঙ্ক প্রদান।
স্কট প্যাক

3
লিঙ্কটি মারা গেছে ..
ক্রিস্টোফ বোহলার

1

আমার একটি সিমলার সমস্যা ছিল যা আমাকে এখানে পেয়েছে। আমার সমাধান (বাছাই করা উত্তরের ভিত্তিতে) করছিল একটি a

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

এখন এটি কাজ করে :)


আপনি যদি ক্রুট ব্যবহারকারীদের ব্যবহার করেন তবে আপনি এটি কীভাবে করতে পারেন? ক্রোটেড ব্যবহারকারীদের ব্যবহার করার সময়, / home / user / www ফোল্ডারটি অবশ্যই ব্যবহারকারীর মালিকানাধীন হওয়া উচিত এবং এটি কার্যকর হয় না।
ভিনসেন্ট লিটুর

দুঃখিত, আমি জানি না :(
স্কট ওয়ারেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.