Назад | Перейти на главную страницу

django / admin не найден

Я пытаюсь настроить Nginx + Gunicorn и когда я перехожу по своему URL, Nginx перенаправляет запрос в мое приложение и обрабатывает его itsels для статического ресурса (static папка). Ниже моей конфигурации домена Nginx:

server {
        listen 80;
        server_name asknow.local www.asknow.local;

        root /home/ghostman/Projects/asknow/asknow;

        location = /favicon.ico { access_log off; log_not_found off; }
        location = /static/ {
                root /home/ghostman/Projects/asknow/asknow;
        }
        location = / {
                include proxy_params;
                proxy_pass http://unix:/home/ghostman/Projects/asknow/asknow/asknow.sock;
        }
}

Проблема, которая мне нужна Nginx сам обрабатывает запрос для static только (www.asknow.local/static), но он пытается обрабатывать и другие URL-адреса. Итак, когда я иду в www.asknow.local/admin сейчас Nginx пытается найти ресурс по пути (my_project/admin).

Журнал Nginx

2017/11/01 04:27:22 [error] 13451#13451: *1 open() "/usr/share/nginx/html/static/img/search.svg" failed (2: No such file or directory), client: 127.0.0.1, server: asknow.local, request: "GET /static/img/search.svg HTTP/1.1", host: "www.asknow.local"

Как это исправить?

Удалить знак равенства (=) из

location = / {
            include proxy_params;
            proxy_pass http://unix:/home/ghostman/Projects/asknow/asknow     /asknow.sock;

}

удалить "=" из "= /"

По сути, вы сопоставили только домашнюю страницу для этого блока местоположения, поэтому в django будет отправлен только запрос с "/". Из-за этого "/ admin" будет не отправляться на прокси / django. Я столкнулся с той же проблемой, что и вы, и вопрос касался только вас. Надеюсь, это поможет вам и последующим людям столкнуться с той же проблемой, что и я :)

Для путешественников во времени из будущего, у которых "django" работает, URL-адрес перенаправляется, но не может отображать страницу; эта страница может вам помочь