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

部署Django应用到AWS Elastic Beanstalk时配置文件提取错误求助

解决AWS Elastic Beanstalk部署Django的配置文件提取警告与502错误

一、排查配置文件提取警告的核心原因

  • 检查ZIP包目录结构:Elastic Beanstalk要求ZIP根目录直接包含Django项目核心文件(如manage.py、项目主文件夹)和.ebextensions文件夹,不能将所有内容嵌套在一个子目录里。比如错误结构是toulouse-psy-emdr-v2/项目文件/.ebextensions/...,正确结构是.ebextensions/、cabinet_psycho/、manage.py等直接在ZIP根层级。
  • 验证.ebextensions与配置文件格式:
    • 确保.ebextensions文件夹名称完全正确(小写、以点开头);
    • 检查django.config的YAML格式:必须用空格缩进,键值对冒号后需加空格(如WSGIPath: cabinet_psycho.wsgi:application),可本地用YAML校验工具确认格式无语法错误。

二、解决502 Bad Gateway错误

  • 核对WSGIPath路径准确性:
    • 确认项目根目录下存在cabinet_psycho文件夹(即settings.py所在目录);
    • 打开cabinet_psycho/wsgi.py,确保存在application = get_wsgi_application()代码,且未被注释或修改。
  • 查看Elastic Beanstalk日志定位问题:
    • 登录AWS控制台,进入对应Elastic Beanstalk环境,在左侧菜单选择日志→请求日志→最近的日志;
    • 重点检查/var/log/httpd/error_log(查看Apache/NGINX的WSGI加载错误)、/var/log/web.stdout.log(查看Django启动时的报错,比如依赖缺失、配置问题)。
  • 确认Python依赖配置:
    • 项目根目录必须包含requirements.txt,列出所有Django及依赖包版本(如Django==4.2),Elastic Beanstalk会自动安装这些依赖;
    • 不要手动打包虚拟环境文件夹,完全依赖requirements.txt管理依赖。
  • 静态文件配置(针对无数据库项目):
    如果项目包含静态文件,需在.ebextensions/django.config中添加静态文件映射:
    option_settings:
      aws:elasticbeanstalk:container:python:
        WSGIPath: cabinet_psycho.wsgi:application
      aws:elasticbeanstalk:environment:proxy:staticfiles:
        /static: static
    
    同时在Django的settings.py中设置:
    STATIC_ROOT = os.path.join(BASE_DIR, 'static')
    STATIC_URL = '/static/'
    
    本地执行python manage.py collectstatic后,将生成的static文件夹打包进ZIP。

三、正确重新部署步骤

  1. 本地整理项目目录,确保根层级包含manage.py、cabinet_psycho/、.ebextensions/、requirements.txt、static/(如有);
  2. 直接选中这些文件/文件夹生成ZIP包(不要将外层文件夹包含进去);
  3. 登录AWS Elastic Beanstalk控制台,上传新ZIP包重新部署。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 17:02:45