2016-06-09 3 views
1

У меня есть приложение django в моем контейнере ubuntu lxc на 127.0.0.1:8001 с guniororn и nginx.Nginx - Как обслуживать статические файлы с восходящей моделью

Это Nginx конф в host:

upstream django_app { 
     server 10.0.8.100:8001; 
} 

server { 
     listen 80; 
     server_name  mysite.com; 

     location/{ 
       proxy_pass  http://django_app; 
       proxy_redirect off; 
       proxy_set_header Host $host; 
       proxy_set_header X-Real-IP $remote_addr; 
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
       } 
     } 

И это Nginx конф в container:

server { 
    listen 80; 

    location/{ 
     proxy_set_header X-Forward-For $proxy_add_x_forwarded_for; 
     proxy_set_header Host $http_host; 
     proxy_pass http://127.0.0.1:8001; 
    } 

    location /static { 
      alias /opt/static_files/django_app/; 
    } 

} 

Эта конфигурация работает. Я вижу, что мое приложение запускается из браузера, но статические файлы не загружаются. У меня есть 404 not found для каждого статического файла в браузере.

Путь /opt/static_files/django_app/ - это место, где все статические файлы собраны командой collectstatic.

Я не мог найти способ обслуживания статических файлов с восходящим потоком.

Спасибо

+0

Это работает, если вы поставите статическое расположение первого! –

+0

@ DanielRoseman Нет, сэр. Это не сработало. Все выглядит хорошо. Но каким-то образом хост не может достичь пути '/ opt/static_files/django_app /'. который находится в контейнерной машине. – user6447377

ответ

0

/opt/static_files/ должны быть такими же, как настройки STATIC_ROOT в файле settings.py Джанго.

Кроме того, изменение:

location /static { 
     alias /opt/static_files/django_app/; 
} 

к:

location /static/ { 
     alias /opt/static_files/django_app/; 
} 
+0

он аналогичен настройке STATIC_ROOT. приложение работает правильно, не имея вышерасположенной модели. Проблема здесь (я думаю), хост не может добраться до статических файлов в папке '/ opt/static_files/django_app /'. который находится в контейнере. – user6447377

Смежные вопросы