Django + Nginx无法提供媒体文件

时间:2019-10-24 16:59:36

标签: python django nginx

我有两台服务器:第一台用于Nginx,第二台用于Django +媒体文件。

Nginx server IP: xxx.xx.xx.1
Django + media files server IP: xxx.xx.xx.2

在Django的settings.py文件中,我的媒体路径配置:

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

MEDIA_URL = "/media/"

在第一台服务器中,我的Nginx配置:

server {
        listen 80;
        server_name example.com;

        location /media/ {
                proxy_pass http://xxx.xx.xx.2/;
        }

        location / {
                include proxy_params;
                proxy_pass http://xxx.xx.xx.2:8000/;
        }
}

在第二台服务器中,放置媒体文件的是我的Nginx配置:

server {
        listen 80;
        server_name xxx.xx.xx.2;

        location /media/ {
                alias /home/sadm/Desktop/{project_name}/media;
        }

但是,当尝试访问example.com/media/images/my_image.jpg时,出现404错误。

任何帮助将不胜感激!预先感谢!

1 个答案:

答案 0 :(得分:1)

这可能是一分钟,但我认为您的别名末尾不应该有/media。 试试这个:

server {
        listen 80;
        server_name xxx.xx.xx.2;

        location /media/ {
                root /home/sadm/Desktop/{project_name};
        }
}
相关问题