代码之家  ›  专栏  ›  技术社区  ›  Denis Steinman

未找到django/admin

  •  0
  • Denis Steinman  · 技术社区  · 7 年前

    我尝试设置 Nginx+Gunicorn Nginx公司 将请求重定向到我的应用程序,并通过itsels处理静态资源( static

    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;
            }
    }
    

    Gunicorn守护进程 :

    [Unit]
    Description=gunicorn daemon
    After=network.target
    
    [Service]
    User=ghostman
    Group=www-data
    WorkingDirectory=/home/ghostman/Projects/asknow/asknow
    ExecStart=/home/ghostman/Projects/asknow/env/bin/gunicorn --access-logfile /home/ghostman/Projects/asknow/env/log/gunicorn.log --error-logfile /home/ghostman/Projects/asknow/env/log/gunicorn-error.log --workers 3 --bind unix:/home/ghostman/Projects/asknow/asknow/asknow.sock asknow.wsgi:application
    
    [Install]
    WantedBy=multi-user.target
    

    我需要解决的问题 Nginx公司 自行处理的请求 仅限( www.asknow.local/static )但它也尝试处理其他URL。所以当我去 www.asknow.local/admin 现在 Nginx公司 my_project/admin ). 但是如果我去 www.asknow.local Nginx将请求代理给Gunicorn。Gunicorn错误日志为空,因此它在Nginx端失败。

    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 回复  |  直到 7 年前
        1
  •  1
  •   Tarun Lalwani    7 年前

    您的问题正在使用 =

    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;
            }
    }