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

gunicorn部署Django后Nginx无法加载静态文件问题求助

问题原因分析
  • 核心路径不匹配:你配置的Nginx静态资源alias指向/data/atsi_webapp/ATSi_WebApp/static,但collectstatic命令执行后,所有生产环境需要的静态文件会统一汇总到你配置的STATIC_ROOT对应的staticfiles目录下,而非项目原有的static目录,Nginx无法找到对应资源就会返回404。
  • 衍生问题排查项:Nginx运行用户没有静态资源目录的读取权限、alias路径末尾漏加斜杠导致路径拼接错误、collectstatic执行过程报错导致文件未正确同步。
解决方案
  1. 修正Nginx配置,把alias路径改为STATIC_ROOT对应的实际路径,注意路径末尾加斜杠避免拼接异常:
location /static/ {
    alias /data/atsi_webapp/ATSi_WebApp/staticfiles/;
}

修改完成后执行nginx -s reload重载配置生效。
2. 确认目录权限:给staticfiles目录配置Nginx运行用户(通常为www-data)的读取权限,执行以下命令:
chmod -R 755 /data/atsi_webapp/ATSi_WebApp/staticfiles
chown -R www-data:www-data /data/atsi_webapp/ATSi_WebApp/staticfiles
3. 验证静态文件同步结果:手动进入/data/atsi_webapp/ATSi_WebApp/staticfiles目录,确认js/xxxx.js文件存在,不存在的话重新执行python manage.py collectstatic,执行时注意终端输出有无报错信息。
4. 快速排查验证:可临时将Django settings中的DEBUG参数改为True,如果此时静态资源可正常访问,即可确认是Nginx侧的静态路径配置问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 18:06:04