Django Webサーバーを1週間デプロイしようとしましたが、最後にそれを実行しましたが、nginxで問題が発生したためアクセス許可が拒否されました
/2016-07-12_1.png HTTP/1.0", Host: "ip" 2017/08/28 08:22:38 [error] 873#0: *122 open() "/srv/www/Best/media/Profile Pictures/1/2016-07-12_1.png" failed (13: Permission denied), client: 94.183.22.168, server: ip, request: "GET /media/Profile%20Pictures/1/2016-07-12_1.png HTTP/1.0", Host: "ip"
wwwフォルダー権限
drwxr-xr-x 4 root nginx 4096 Aug 27 15:05 www
最良の(プロジェクトフォルダ)権限
drwxrw-r-- 9 uwsgi nginx 4096 Aug 27 21:27 Best
メディアフォルダのアクセス許可
drw-rw-r-- 3 uwsgi nginx 4096 Aug 26 12:32 media
静的フォルダ権限
drwxrwxr-x 3 uwsgi nginx 4096 Aug 27 21:22 static
ディレクトリにdrwxrw-r--
を設定しました。次のいずれかである必要があります。
drwxrwxr-x
-グループによる読み取り、書き込み、実行。すべてのユーザーがコンテンツを見ることができます。グループによる書き込みアクセスが本当に必要な場合を除き、お勧めしません。drwxr-xr-x
-グループが読み取り、実行します。すべてのユーザーがコンテンツを見ることができます。drwxr-x---
-グループが読み取り、実行します。ファイルの権限も表示されていません。これも問題になる可能性があります。
私には2つの選択肢があります。各フォルダとファイルを個別に修正するか、ロットを一度に修正します。ロットを一度に修正すると、特別な権限(書き込みアクセスなど)が削除される可能性がありますが、何をしているのかがわかっていれば、後で修正することもできます。
オプション1、ディレクトリとファイルごとに設定:
Sudo chmod 750 /path/to/each/directory
Sudo chmod 640 /path/to/each/file
オプション2、すべてに設定:
Sudo find /path/to/www/root -type d -print0 | xargs -0 chmod 750
Sudo find /path/to/www/root -type f -print0 | xargs -0 chmod 640
個人的には、ディレクトリには750
(drwxr-x---
)を使用し、ウェブサイト上のファイルには640
(-rw-r----
)を使用しますが、755
(drwxr-xr-x
)および644
(-rw-r--r--
)。