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

指定正确路径后Nginx仍报静态文件未找到404错误求助

问题分析与解决方法

你的核心问题是访问路径没走Nginx:你直接请求的是http://54.198.4.208:8000/static/style.css,这是直接打给Django服务的端口,而你配置的Nginx静态文件规则只在443端口的HTTPS服务中生效,自然不会触发Nginx的静态文件读取逻辑。

解决方案

1. 使用正确的访问路径(推荐)

通过Nginx的HTTPS端口访问静态文件,即访问:

https://54.198.4.208/static/style.css

此时Nginx会匹配location /static/规则,直接从/home/ubuntu/logins/staticfiles/目录读取文件,不会转发到Django服务。

2. 若需通过8000端口访问(仅测试用,不推荐生产环境)

  • 确认Django项目settings.py中已配置:
    STATIC_ROOT = '/home/ubuntu/logins/staticfiles/'
    
  • 确保已执行过静态文件收集命令:
    python manage.py collectstatic
    
  • 注意:当DEBUG=False时,Django默认不会提供静态文件服务,生产环境必须依赖Nginx这类服务器处理静态资源。

3. 额外验证步骤

  • 重载Nginx配置,确保修改生效:
    sudo nginx -s reload
    
  • 再次确认Nginx运行用户(通常为www-data)对/home/ubuntu/logins/staticfiles/目录及文件有读取权限,可执行:
    sudo chmod -R 755 /home/ubuntu/logins/staticfiles/
    sudo chown -R www-data:www-data /home/ubuntu/logins/staticfiles/
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 23:30:05