2011-08-14 17 views
5

rmagick ile carrierwave gem'i kurdum.Raylar 3 + carrierwave + nginx = izin reddedildi

WEBrick'i yüklerseniz, ancak nginx'i kullanmaya çalışırken 500 Internal Server Error alıyorsanız iyi çalışıyor olabilirim.

nginx error.log diyor ki:

Ayrıca ben içeren initializers kapağında bir dosya oluşturdum
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" 

:

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

Eksik bir şey? Bu CarrierWave ilişkili değildir

cevap

9

, Nginx sizin Nginx süreci doesn anlamına klasörde geçici yüklenen dosya ile /usr/local/Cellar/nginx/1.0.4/client_body_temp/ en yazmak mümkün değildir üstünde haklar var. Nginx çalıştıran kullanıcının, bu belirli yol altındaki dosyaları okuyabildiğinden/yazabileceğinden emin olun, eğer yapılandırmayı değiştirmediyseniz, Nginx genellikle kullanıcılarını hiç kimse kullanıcısı olarak başlatır, böylece bu klasöre okuma/yazma erişimi verebilirsiniz.

aşağıdaki komutu çalıştırın:

ps aux | grep "nginx: worker process" 

Ve nginx çalıştığı kullanıcı bakın.

+1

Doğru. Teşekkür ederim Maurício! Beni bunun üzerine iki kez kaydettiniz! Sadece : /usr/local/Cellar/nginx/1.0.4/client_body_temp/ 'yi seçti ve işe yarıyor! :) –

+0

nginx'in daha yeni sürümlerinde, klasör **/var/lib/nginx/body ** olabilir – Clark