You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django+Nginx环境下媒体文件无法访问(权限拒绝错误)

解决媒体文件无法加载(权限拒绝)问题

问题核心

静态文件正常显示,但媒体文件加载失败,Nginx日志明确提示Permission denied,说明Nginx进程(www-data用户)无法访问媒体文件路径。

解决方案

1. 修复父目录的执行权限

Nginx需要遍历到媒体文件夹的所有父目录,必须给这些目录添加执行权限(允许进程进入目录):

sudo chmod +x /home/shahriar/
sudo chmod +x /home/shahriar/Amlak/
sudo chmod +x /home/shahriar/Amlak/real_estate/

2. 修正Nginx配置中的路径错误

你的Nginx配置里location /media用了占位符路径,且root的路径拼接逻辑容易出错,建议替换为alias并填写实际路径:

location /static {
    alias /var/www/real_estate/static/;
}
location /media {
    alias /home/shahriar/Amlak/real_estate/media/;
}

修改后先验证Nginx配置合法性:

sudo nginx -t

输出test is successful后,重启Nginx:

sudo systemctl restart nginx

3. 确保媒体文件及文件夹的读写权限

重新设置媒体目录的所有者和文件权限:

sudo chown -R www-data:www-data /home/shahriar/Amlak/real_estate/media/
sudo chmod -R 644 /home/shahriar/Amlak/real_estate/media/

4. 重启相关服务

最后重启Nginx和Gunicorn:

sudo systemctl restart nginx
sudo systemctl restart gunicorn

内容的提问来源于stack exchange,提问作者Alin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 12:07:32