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