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

Django+Gunicorn+Nginx部署时CSS文件权限拒绝问题求助

解决Gunicorn+Nginx部署Django时CSS文件权限拒绝问题

问题定位

Nginx worker进程以www-data用户运行,无法读取/home/victor/helpme/tickets/static/css/style.css,核心原因是目录/文件权限链不完整——即使顶级目录helpme设为777,父目录或子文件的权限限制仍会导致访问失败。

解决方案

1. 修复用户家目录的访问权限

Nginx进程需要进入/home/victor目录,默认该目录权限通常为700(仅victor用户可访问),需添加其他用户的执行权限(执行权限允许进程进入目录,无需读权限):

chmod o+x /home/victor

2. 修正静态文件目录及文件的权限

确保static目录及其所有子文件/目录对www-data有可读权限:

# 给目录添加读+执行权限
chmod -R 755 /home/victor/helpme/tickets/static
# 给文件添加读权限
chmod -R 644 /home/victor/helpme/tickets/static/*

3. 验证Nginx静态资源配置正确性

当前Nginx的/static/配置会将请求/static/css/style.css映射到/home/victor/helpme/tickets/static/css/style.css,需确认static文件夹确实位于/home/victor/helpme/tickets/目录下。如果static实际在项目根目录(/home/victor/helpme/),则修改配置为:

location /static/ {
    root /home/victor/helpme;
}

4. 重启Nginx生效

完成上述操作后,重启Nginx服务:

sudo systemctl restart nginx

额外验证

执行以下命令,确认www-data用户能正常读取目标CSS文件:

sudo -u www-data cat /home/victor/helpme/tickets/static/css/style.css

若能正常输出文件内容,说明权限问题已解决;若仍报错,需继续检查上级目录的权限链。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 07:37:32