2011-08-14 17 views
5

私はrmagickでcarrierwave gemをインストールしました。Rails 3 + carrierwave + nginx =許可が拒否されました

私はWEBrickをロードするとうまく動作しますが、代わりにnginxを使用しようとすると500 Internal Server Errorが発生します。

nginxののerror.logには言う:

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

私は何かが欠け午前:?

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" 

はまた、私は含む初期化子フォルダ上のファイルを作成しましたか

答えて

9

これはCarrierWaveに関連していない、nginxのは、あなたのnginxのプロセスのdoesnを意味し、一時アップロードされたファイルとフォルダ/usr/local/Cellar/nginx/1.0.4/client_body_temp/で書くことができることされていませんそれに対する権利はない。 nginxを実行しているユーザがこの特定のパスでファイルを読み書きできることを確認します。設定を変更していない場合、Nginxは通常、ユーザnobodyというワーカーを起動します。

次のコマンドを実行します。

ps aux | grep "nginx: worker process" 

とnginxのを実行しているユーザーを参照。

+1

そうです。ありがとうMaurício!あなたはこれを信じて二度私を救った!ちょうど 'chown /usr/local/Cellar/nginx/1.0.4/client_body_temp/'そしてそれはうまくいった! :) –

+0

新しいバージョンのnginxでは、フォルダは**/var/lib/nginx/body **です。 – Clark

関連する問題