2011-08-14 14 views
5

मैंने rmagick के साथ वाहकवेव मणि स्थापित किया है।रेल 3 + वाहकवेव + nginx = अनुमति अस्वीकार

लोड थ्रो वेबब्रिक लोड होने पर मैं इसे ठीक काम कर सकता हूं लेकिन इसके बजाय nginx का उपयोग करने की कोशिश करते समय 500 आंतरिक सर्वर त्रुटि प्राप्त कर रहा हूं।

nginx error.log का कहना है:

2011/08/14 10:06:40 [crit] 760#0: *4247 open() "/usr/local/Cellar/nginx/1.0.4/client_body_temp/0000000033" failed (13: Permission denied), client: 127.0.0.1, server: jewellery.dev, request: "POST /items/28?locale=en HTTP/1.1", host: "jewellery.dev:8080", referrer: "http://jewellery.dev:8080/items/28/edit?locale=en" 

इसके अलावा, मैं युक्त initializers फ़ोल्डर पर एक फ़ाइल बना लिया है: कुछ

CarrierWave.configure do |config| 
    config.permissions = 0777 
end 

मुझे याद आ रही है?

उत्तर

9

यह CarrierWave से संबंधित नहीं है, Nginx फ़ोल्डर /usr/local/Cellar/nginx/1.0.4/client_body_temp/ अस्थायी अपलोड की गई फ़ाइल के साथ है, जो आपके Nginx नहीं करता प्रक्रिया का मतलब है पर लिखने में सक्षम नहीं किया जा रहा है इस पर अधिकार नहीं है। सुनिश्चित करें कि उपयोगकर्ता जो nginx चला रहा है, इस विशिष्ट पथ के तहत फ़ाइलों को पढ़/लिख सकता है, अगर आपने कॉन्फ़िगरेशन नहीं बदला है, तो Nginx आमतौर पर उपयोगकर्ता के उपयोगकर्ता के रूप में कार्यकर्ताओं को शुरू करता है ताकि आप उसे इस फ़ोल्डर में पढ़ने/लिखने के लिए दे सकें।

निम्न आदेश चलाएँ:

ps aux | grep "nginx: worker process" 

और देखें कि कौन से उपयोगकर्ता nginx चल रहा है।

+1

यह सही है। मॉरीसिओ धन्यवाद! आपने मुझे दो बार इस पर गिनती बचाई! बस : /usr/local/Cellar/nginx/1.0.4/client_body_temp/' और यह काम करता है! :) –

+0

nginx के नए संस्करणों में, फ़ोल्डर **/var/lib/nginx/body ** हो सकता है ** – Clark

संबंधित मुद्दे