2012-02-15 19 views
0

私はApache2 + mod_wsgiでDjangoをセットアップしました。静的ファイルはNginxによって提供されます。 MEDIA_ROOT = 'のhttp:// localhostの/メディア/' ADMIN_MEDIA_PREFIX = 'のhttp:// localhostの/メディア/'Nginxの書き込み権限を持つApacheのDjango

Apacheは80

私の設定はこのようにしているポート上でポート81とnginxの上で実行されています

すべてうまく見えます。 https://localhost:81/adminには、静的ファイルを含むDjango管理サイトがあります。

私はこのモデルを使用して新しいアプリを作成しました:私はadminサイト経由でファイルをアップロードしようとすると

を 歌= models.FileField(upload_to =「曲」): クラスソング(models.Model)を私は次のエラーを取得します。 '/ HTTP:'

リクエスト方法:POST リクエストURL:http://localhost:81/admin/player/song/add/ Djangoのバージョン:1.3

OSErrorの/管理/再生/曲で//

[ERRNO 13]のアクセス許可が拒否されまし追加。 1つの 例外タイプ:OSErrorの 例外値:私は、Apacheはあなたがあなたを設定した

答えて

1

をnginxのために変更を適用できるようにするにはどうすればよい

r MEDIA_ROOTをURLに追加してください。私はそれが物理的な場所に設定されるべきだと思う、私は同じことがADMIN_MEDIA_PREFIXのために行くと思う。私は、あなたがメディアフォルダにアクセス権を設定することもあるでしょう

MEDIA_ROOT = '/Projects/my_project/media/' # assuming linux 

ADMIN_MEDIA_PREFIX = PROJECT_URL + '/media/admin' 

を変更しようとするだろう。あなたはwww-dataに書き込み権限を与える必要があると思います。

+0

それは働いた。ありがとうございました。問題は実際にMEDIA_ROOT(愚かなnoob間違い)だった。私はMEDIA_ROOTを絶対パスに変更し、私はstettupを変更しました。 Nginxはreverseproxyとして機能し、私のADMIN_MEDIA_PREFIXはlocalhost/mediaの代わりに/ media /にすぎません。それはより柔軟で一般的に見えます。 – user1210456

+0

喜んで助けました。回答が解決したことを示す答えを選択してください。 – darren

関連する問題