2016-09-23 4 views
0

nginx.confNginx Не Обслуживание статических файлов (Джанго + 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/' 

Если я запускаю сервер, используя сервер разработки Django с manage.py runserver или с gunicorn, все статические файлы работают отлично, но используя nginx на порту 80, ни один из статических файлов не работает; что заставляет меня думать, что это проблема, связанная с 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://##.###.###.###/" 

ответ

-1

Я просто исправил это, отключив SELinux, что вызвало у меня еще одну проблему несколько дней назад с nginx.

0

У вас есть разрешение отказано вопрос это кажется. (13: Permission denied)

nginx часто работает под своим собственным пользователем nginx, и у этого пользователя, вероятно, нет разрешений для доступа к местоположению/файлам и они не могут их обслуживать.