![](/img/trans.png)
[英]nginx+gunicorn+django/mezzanine not serving static files
[英]Nginx Not Serving Static Files (Django + Gunicorn) Permission denied
nginx.conf
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/'
如果我使用Django开发服务器和manage.py runserver或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://##.###.###.###/"
您似乎有一个权限被拒绝的问题。 (13: Permission denied)
nginx通常在其自己的nginx
用户下运行,并且该用户可能没有访问位置/文件的权限并且不能为它们提供服务。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.