Пинакс с Gunicorn и Nginx не обслуживает статические активы - PullRequest
0 голосов
/ 27 января 2012

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

    upstream my-backend {
    server localhost:8000 fail_timeout=0;
}

server {
    listen 80;

    root /home/wakwanza/Cod/NP/ASUT;

    keepalive_timeout 5;

    location /site_media/ {
    autoindex on;
        access_log off;
    }

    location /static/  {
    autoindex on;
        access_log off;
    }

    location / {
        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   REMOTE_HOST      $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        proxy_set_header   X-FORWARDED-PROTOCOL $scheme;

    proxy_redirect off;

        proxy_pass http://my-backend;
    }
}

мой gunicornбудучи вызванным из приложения django с помощью: python manage.py run_gunicorn, я сделал это после сбора статических файлов в ... / ASUT / site_media / static работает только в режиме разработки.Я попытался заменить директиву местоположения на

    location /static/  {
    autoindex on;
        access_log off;
alias /home/wakwanza/Cod/NP/ASUT/site_media/;
    }

, но мои статические ресурсы все еще не обслуживаются, все папки css / js / img не видны для обычного сайта, однако для административного раздела они отображаются нормально.

1 Ответ

2 голосов
/ 28 января 2012

отсортировано по настройкам .conf

STATIC_URL = "/static/"

и nginx.conf до

upstream app_server {
    server localhost:8000 fail_timeout=0;
    # For a TCP configuration:
    # server 192.168.0.7:8000 fail_timeout=0;
}

server {
    listen 80 default;
    client_max_body_size 4G;
    server_name _;

    keepalive_timeout 5;

    # path for static files
    #root /home/wakwanza/Cod/NP/ASUT/site_media/static;

    location /static/ {    
    autoindex on;    
    alias   /home/wakwanza/Cod/NP/ASUT/site_media/static/;    
    }

    location / {
        # checks for static file, if not found proxy to app
        try_files $uri @proxy_to_app;
    }

    location @proxy_to_app {
        proxy_pass_header Server;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_redirect off;

        proxy_pass   http://app_server;
    }

    error_page 500 502 503 504 /500.html;

}
...