gpt4 book ai didi

django - AWS Elastic Beanstalk : WSGI path incorrect?

转载 作者:行者123 更新时间:2023-12-03 17:06:12 24 4
gpt4 key购买 nike

我正在尝试将我的第一个应用程序部署到EB,并跟随着这个故事:https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-django.html

不幸的是,在部署最终应用程序时,我仍然出现502错误。我很困惑,因为我遵循了发球台上的指示。

我收到以下错误

ImportError: Failed to find application, did you mean 'ebdjango/wsgi:application'?

我不确定这是什么意思。按照说明,我编辑了django.config文件以包含以下文本:
option_settings:
aws:elasticbeanstalk:container:python:
WSGIPath: ebdjango/wsgi.py

这似乎与我的文件结构匹配:
- ebdjango
-.ebextensions
- django.config
- .elasticbeanstalk
- ebdjango
_ __init__.py
- settings.py
- urls.py
- wsgi.py
- manage.py
- requirements.txt

所以配置文件设置正确,对吗?

我正在运行Python 3.7和Django 2.2。

我知道EB会搜索application.py,我认为配置文件应该将服务器指向我的自定义应用程序?我在这里想念什么?

编辑:我也收到此错误:
ModuleNotFoundError: No module named 'ebdjango/wsgi'

我的文件结构有问题吗?

编辑2:我忘了在我的帖子中包括 init .py文件,请参阅Ben的评论。

最佳答案

我遇到过同样的问题。这是因为有Amazon Linux 2机器镜像。其配置文件与旧版本不兼容。请参阅:https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.migration-al.html。我最终使用了旧版本,因为文档中说:

If you're using an Amazon Linux 2 platform version that is in beta for your evaluation, do not go to production. Wait until we release a supported platform version.



您可以使用命令行工具使用Amazon Linux机器镜像(旧版本)创建Elastic Beanstalk环境。以下是命令(用数据替换 <...>):
eb init -p python-3.6 <ApplicationName> --region <Region>
eb create <EnvironmentName> --elb-type application --platform "64bit Amazon Linux 2018.03 v2.9.10 running Python 3.6"

更新2020-06-02
如前所述,此问题是由Amazon Linux 2平台引起的,因为它使用Gunicorn,它的WSGI语法与以前的版本不同。 WSGIPath必须为 ebdjango.wsgi:application。请参阅 https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-container.html#python-namespaces

关于django - AWS Elastic Beanstalk : WSGI path incorrect?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62049763/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com