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
相关产品推荐
相关产品推荐

