Django AWS Elastic Beanstalk - 502 错误网关

问题描述 投票:0回答:1

我一直在互联网上寻找解决这个问题的方法,但在尝试了多种不同的方法后却空手而归。我希望将 vanilla django 项目部署在 AWS EB 上。我对此很陌生,所以我确信我缺少一些简单的东西。我遵循了本教程:https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-django.html以及许多其他 YouTube / Stack 教程和帖子希望解决这个问题502错误。

这是我的设置。 project setup

这是我的 django.config 文件:

option_settings:
  aws:elasticbeanstalk:container:python:
    WSGIPath: ebdjango.wsgi:application

这是我的 config.yml 文件:

branch-defaults:
  default:
    environment: django-env2
    group_suffix: null
global:
  application_name: django-tut
  branch: null
  default_ec2_keyname: null
  default_platform: Python 3.9
  default_region: us-west-2
  include_git_submodules: true
  instance_profile: null
  platform_name: null
  platform_version: null
  profile: eb-cli
  repository: null
  sc: null
  workspace_type: Application

在 Settings.py 中我所做的唯一更改是:

ALLOWED_HOSTS = ['django-env2.eba-wftrfqr2.us-west-2.elasticbeanstalk.com']

这是需求.txt

asgiref==3.7.2
Django==3.1.3
pytz==2023.3.post1
sqlparse==0.4.4
typing_extensions==4.8.0

当我在本地运行服务器时,它工作得很好,在 http://127.0.0.1:8000/ 上提供通用 django 页面(当然这是在我更新 ALLOWED_HOSTS 之前)。

在控制台中,其状态变为“严重”并显示警告事件: “环境运行状况已从“待处理”转变为“严重”。并非所有实例上的 ELB 进程都运行良好。所有实例都没有发送数据。50.0% 的 ELB 请求因 HTTP 5xx 失败。请求率不足(2.0 个请求/分钟)确定应用程序运行状况(4 分钟前)。ELB 运行状况失败或不适用于所有实例。”

我真的看不到比这更多的东西了。当我跳过日志选项卡时,那里什么也没有。任何帮助,将不胜感激;我感觉这几天我的头一直撞在砖墙上。谢谢

python django amazon-web-services amazon-elastic-beanstalk bad-gateway
1个回答
0
投票

您也必须在 .ebextensions

中指向设置文件

例如:

option_settings:
    aws:elasticbeanstalk:application:environment:
        DJANGO_SETTINGS_MODULE: ebdjango.settings
© www.soinside.com 2019 - 2024. All rights reserved.