未找到 django/admin

未找到 django/admin

我尝试设置Nginx+Gunicorn当我通过我的 URL 访问时Nginx将请求重定向到我的应用程序并自行处理静态资源(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/adminnowNginx尝试通过路径查找资源(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"

如何修复?

答案1

删除等号 (=)

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

}

从“= /”中删除“=”

基本上,您只匹配了此位置块的主页,因此只有针对“/”的请求才会发送到 django。因此,“/admin”将不是发送到代理/django。我遇到了和你完全相同的问题,你是唯一与之相关的问题。希望这能帮助你和后来遇到和我一样问题的人:)

对于来自未来的时间旅行者来说,他们的“django 正在运行,url 被重定向但无法显示页面;这个页面可能会帮助你

相关内容