繁体   English   中英

Django + Nginx 无法提供媒体文件

[英]Django + Nginx Unable to serve media files

我有两台服务器:第一台用于 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错误。

任何帮助是极大的赞赏! 提前致谢!

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM