これを数時間デバッグしようとしましたが、他に何を確認すればよいかわかりません。私の問題は、Nginx が Django の静的ファイルをサーバーに提供しないことです。静的ファイルにアクセスすると、エラー403 Forbiddenが発生します。
nginx エラー ログの正確なエラーは次のとおりです。
2013/02/11 05:42:13 [error] 22526#0: *29 open() "/home/mydomain/public_html/test2/src/bootstrap.css" failed (13: Permission denied), client: XXX.XXX.XX.XX, server: mydomain.com, request: "GET /src/bootstrap.css HTTP/1.1", host: "www.mydomain.com"
これが私のnginx構成ファイルです:
server {
listen XX.XX.X.XXX:80;
server_name mydomain.com;
root /home/mydomain/public_html/test2/app;
# serve directly - analogous for static/staticfiles
location /media/ {
# if asset versioning is used
if ($query_string) {
expires max;
}
}
location /admin/media/ {
# this changes depending on your python version
root /home/mydomain/public_html/test2/lib/python2.7/site-packages/django/contrib;
}
location /src/ {
autoindex on;
root /home/mydomain/public_html/test2;
}
location / {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_connect_timeout 10;
proxy_read_timeout 10;
proxy_pass http://localhost:8000/;
}
# what to serve if upstream is not available or crashes
error_page 500 502 503 504 /media/50x.html;
}
静的ファイルは に保存され/home/mydomain/public_html/test2/src
ます。
私は試してみましたが、何の効果もchown mydomain.mydomain -R *
ありchmod 755 /home/mydomain -R *
ません。