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

EB部署时.ebextensions文件夹未被包含,Django静态文件无法加载求助

Django Elastic Beanstalk 静态文件部署问题排查方案

核心排查与解决步骤

1. 确认.ebextensions的位置和命名规范

  • 必须将.ebextensions文件夹直接放在项目根目录,不能嵌套在子文件夹(如my_app/.ebextensions)中
  • 严格检查名称拼写:是.ebextensions(开头带点、复数形式),避免写成ebextensions或.ebextension

2. 验证配置文件的格式合法性

  • 文件夹内的配置文件必须使用.config后缀(例如static_config.config),不能用.txt等其他格式
  • 检查YAML语法是否正确:
    • 缩进必须用空格,禁止使用制表符
    • 键值对冒号后必须加空格(如option_settings: 而非option_settings:)
    • 示例合法配置:
      option_settings:
        aws:elasticbeanstalk:environment:proxy:staticfiles:
          /static: static
      

3. 排查GitHub的文件追踪规则

  • 检查项目根目录的.gitignore文件,确认没有忽略.ebextensions或其内部文件
    • 若存在*.config或.ebextensions/这类规则,需修改为!.ebextensions/、!*.config来取消忽略
  • 本地执行git status,确认.ebextensions及内部文件处于已追踪状态,未被标记为“Untracked files”

4. 检查EB部署包的内容

  • 部署后登录EC2实例,查看/var/app/current/目录下是否存在.ebextensions文件夹
  • 执行unzip -l /opt/elasticbeanstalk/deploy/appsource/source_bundle.zip,查看压缩包内的文件结构,确认.ebextensions在根目录中

5. 验证Django静态文件基础配置

  • 确保settings.py中配置正确:
    STATIC_ROOT = os.path.join(BASE_DIR, 'static')
    STATIC_URL = '/static/'
    
  • 核对EB环境属性中aws:elasticbeanstalk:environment:proxy:staticfiles的映射关系(如/static对应static目录)

6. 查看EB部署日志定位问题

  • 登录AWS控制台,进入对应环境的“日志”页面下载完整部署日志
  • 搜索.ebextensions关键字,排查是否有配置加载失败的错误(如YAML语法错误、权限问题)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 02:27:10