Django / Nginx: файлы статики не обслуживаются - PullRequest
0 голосов
/ 27 мая 2020

Я пытаюсь развернуть свой проект Django на удаленном сервере, используя Nginx, но мои файлы не обслуживаются.

Я предполагаю, что мой путь неверен, но действительно не знаю почему ...

python3 manage.py collectstati c получить все мои файлы в папке intensecov_stati c.

/ home / zebra /

- intensecov_app
    - intensecov
        - coverage (project)
        - manage.py
        - static
        - ...
- intensecov_static
    - css
       - style.css
    - images
    - ...

settings.py

STATIC_URL = '/static/'

STATICFILES_DIRS = (
    os.path.join(BASE_DIR,'static'),
    os.path.join(BASE_DIR,'randomization_management/static'),
    os.path.join(BASE_DIR,'randomization_settings/static'),
    os.path.join(BASE_DIR,'randomization/static'),
)

PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))

STATIC_ROOT = '/home/zebra/intensecov_static'

/ etc / nginx / sites-available / intensecov

server {
        listen 80;
        server_name 192.168.80.9;
        root /home/zebra/intensecov_app;

        location /static {
                alias /home/zebra/intensecov_static;
        }

        location / {
                proxy_set_header Host $http_host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_redirect off;
                if (!-f $request_filename) {
                        proxy_pass http://127.0.0.1:8000;
                        break;
                }
        }
}

Ответы [ 2 ]

0 голосов
/ 27 мая 2020

Желая, чтобы ваш nginx .conf, который вы объявили:

    location /static {
            alias /home/zebra/intensecov_static;
    }

Попробуйте следующее:

    location /static {
            alias /home/zebra/intensecov_static/;
    }

Кажется, nginx нуждается в завершающем /, чтобы папка работала . Или, по крайней мере, при удалении завершающего / перестала обслуживаться stati c -файл.

0 голосов
/ 27 мая 2020

STATIC_ ROOT - это то место, где собираются все файлы c stati, когда вы запускаете команду python manage.py collectstatic, а STATIC_URL - это то, что указывает на STATIC_ ROOT.

Ссылку здесь https://docs.djangoproject.com/en/3.0/ref/settings/#std: setting-STATIC_ ROOT

Изменение местоположения в файле nginx должно решить проблему.

...