我一直在互联网上寻找解决这个问题的方法,但在尝试了多种不同的方法后却空手而归。我希望将 vanilla django 项目部署在 AWS EB 上。我对此很陌生,所以我确信我缺少一些简单的东西。我遵循了本教程:https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-django.html以及许多其他 YouTube / Stack 教程和帖子希望解决这个问题502错误。
这是我的 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 运行状况失败或不适用于所有实例。”
我真的看不到比这更多的东西了。当我跳过日志选项卡时,那里什么也没有。任何帮助,将不胜感激;我感觉这几天我的头一直撞在砖墙上。谢谢
您也必须在 .ebextensions
中指向设置文件例如:
option_settings:
aws:elasticbeanstalk:application:environment:
DJANGO_SETTINGS_MODULE: ebdjango.settings