nginx.confNginx的不是靜態文件服務(Django的+ Gunicorn)權限被拒絕
server {
listen 80;
server_name serveraddress.com;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/ec2-user/projectname;
}
location/{
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://unix:/home/ec2-user/projectname/projectname.sock;
}
}
settings.py
STATIC_URL = '/static/'
STATICFILES_DIR = '/home/ec2-user/projectname/static/'
STATIC_ROOT = '/home/ec2-user/projectname/static/'
如果我使用具備manage.py runserver命令Django開發服務器的服務器或者使用gunicorn,所有的靜態文件都可以正常工作,但是在端口80上使用nginx,沒有任何靜態文件可以工作;這導致我相信這是一個涉及nginx的問題。是的,我已經運行了python manage.py collectstatic並安裝了'django.contrib.staticfiles'。我正在使用RHEL 7(Centos 7)。
Nginx的是error.log
2016/09/22 20:44:33 [error] 322#0: *371 open() "/home/ec2-user/projectname/static/css/home.css" failed (13: Permission denied), client :##.###.##.##, server: ##.###.###.###, request: "GET /static/css/home.css HTTP/1.1", host: "##.###.###.###", referrer: "http://##.###.###.###/"