【问题标题】:Django 1.6 uWSGI + nginx wont serve static filesDjango 1.6 uWSGI + nginx 不会提供静态文件
【发布时间】:2014-06-24 01:21:07
【问题描述】:

我有一个用于测试目的的 Django 1.6 应用程序,如图所示:

media folder -> /home/josealejandro93/Desktop/Soporte/media
static folder -> /home/josealejandro93/Desktop/Soporte/static
root folder -> /home/josealejandro93/Desktop/Soporte  # manage.py lives here!

我设法在 Linux Arch 上使用 this tutorial 配置了 uwsgi,当我运行时

uwsgi --http :8000 --module soporte.wsgi

我可以看到我的应用程序在 localhost:8000 上运行,但是按照上面指出的教程中的配置说明,我无法提供静态文件,所以我为我的 /etc/nginx/nginx.conf 尝试了一个新配置:

worker_processes  1;


events {
    worker_connections  1024;
}


http {
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;

        location / {
            include /etc/nginx/mime.types;      
            root   /home/josealejandro93/Desktop/Soporte;
            index  index.html index.htm;
        }


        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
    }


}

如您所见,该文件只是一个基本配置文件,但我仍然无法提供我的静态文件。

知道我做错了什么吗?

【问题讨论】:

  • 您要使用哪个端口?你在 80 端口上有 Nginx,在 8000 端口上有 WSGI 应用程序。
  • 我想使用80端口,但是访问localhost/media/nocap.jpg会产生Nginx 404。nocap.jpg是一个存在于/home/josealejandro93/Desktop/Soporte/media下的文件
  • 检查权限。使用非 priv nginx 用户从主目录提供内容可能会导致问题。
  • 尝试使用 user = josealejandro93;没有运气
  • 答案在nginx错误日志中。

标签: python django nginx


【解决方案1】:

您应该配置 nginx 以识别和提供媒体和静态文件:

server {
    listen       80;
    server_name  localhost;

    location / {
        include /etc/nginx/mime.types;      
        root   /home/josealejandro93/Desktop/Soporte;
        index  index.html index.htm;
    }

    location /static/ { 
        alias /home/josealejandro93/Desktop/Soporte/static;
    }

    location /media/ { 
        alias /home/josealejandro93/Desktop/Soporte/media;
    }
}

【讨论】:

  • 你后来重新加载了 nginx 吗?
  • 是的,首先是sudo nginx -t,然后是sudo systemctl restart nginx。还有起停。
  • 您是否在 settings.py 中配置了媒体和静态 URL?
猜你喜欢
  • 2013-02-19
  • 2014-02-26
  • 2021-12-02
  • 2020-09-14
  • 1970-01-01
  • 1970-01-01
  • 2019-06-27
  • 1970-01-01
  • 2016-01-28
相关资源
最近更新 更多