server {
#listen 443;
server_name www.site.md;
location ~* .(jpg|svg|jpeg|gif|png|ico|css|zip|rar|pdf)$ {
root /home/ubuntu/giver;
error_page 404 = 404;
}
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/ubuntu/giver;
}
location / {
include proxy_params;
proxy_pass http://unix:/home/ubuntu/giver/server/giver/giver.sock;
}
location /media {
root /home/ubuntu/giver/server/giver/giver/media; # your Django project's media files - amend as required
}
如您所见,我已经添加了媒体文件的路径,但它们没有加载... 有谁可以帮助我吗?我在ubuntu 16上使用django 1.10,nginx,gunicorn。
答案 0 :(得分:1)
尝试将root
更改为alias
:
location /media/ {
alias /home/ubuntu/giver/server/giver/giver/media/;
}
然后重启:
sudo service nginx restart
希望它有所帮助!
答案 1 :(得分:1)
查看here,您会看到带有“alias”或“root”的语法:
location /media/ {
root /home/ubuntu/giver/server/giver/giver;
}
或
location /media/ {
alias /home/ubuntu/giver/server/giver/giver/media/;
}
两者都有效,但同一个文档也说当位置路径与文件系统路径末端匹配时(在你的情况下为“/ media”)root是可行的方法。