статические файлы не отображаются на живом сайте django, обслуживаемом через nginx - PullRequest
0 голосов
/ 01 июня 2019

Я следовал уроку по digitalocean, чтобы создать сайт на сервере с django, gunicorn & nginx. Сайт работает, но статические файлы не отображаются.

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

Я попытался изменить конфигурацию django & nginx, так как они исходный, как кажется.

1) определение статического местоположения в файле django settings.py django_project / django_project / settings.py

STATIC_URL = '/static/',
STATIC_ROOT = "/dir1/dir2/dir3/django_project/static"

2) файл конфигурации nginx по адресу /etc/nginx/nginx.conf

http {

    server {
           listen       800  default_server;
           server_name  mysite.com;
           return       444;
           location /static/ {
                  alias /dir1/dir2/dir3/django_project/static;
                            }
           }

3) файл по умолчанию в / etc / nginx / sites-availables:

server {
    listen 80;
    server_name mysite.com;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
    root  /dir1/dir2/dir3/django_project/static;
    }

    location / {
        include proxy_params;
        proxy_pass http://unix:/run/gunicorn.sock;
    }
}

Я ожидаю, что статические файлы появятся

============================= EDIT:

При попытке открыть статический файл появляется сообщение об ошибке:

Не найдено

Запрошенный ресурс не найден на этом сервере.

1 Ответ

0 голосов
/ 04 июня 2019

Сайт работает сейчас.

Проблем было много, но все они связаны с настройками nginx или gunicorn.

Всегда проверяйте наличие ошибок nginx и gunicorn:

Устранение неполадок Nginxи Gunicorn подробно обсуждались здесь:

https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-16-04

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...