問題

我有兩個伺服器:第一個用於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};
        }
}
 

  相同標籤的其他問題

pythondjangonginx