Python 将Django应用程序部署到Elastic Beanstalk时出现内部服务器错误500

Python 将Django应用程序部署到Elastic Beanstalk时出现内部服务器错误500,python,django,bash,amazon-web-services,amazon-elastic-beanstalk,Python,Django,Bash,Amazon Web Services,Amazon Elastic Beanstalk,我一丝不苟地遵循AWS官方指南,为一个学校项目将Django应用程序部署到Elastic Beanstalk()。它在本地工作,但当我尝试部署它时,会显示一条500错误消息。我在代码中做了很多调整,但似乎没有效果。AWS仪表板显示一条警告:环境健康状况已从“正常”转变为“警告”。使用HTTP 5xx时,100%的请求失败。我现在在欧洲,这可能是一个时区问题吗 我试图将调试模式从true改为false,但我认为这不是问题所在。我真的不明白为什么它不工作,我从来没有在终端的执行中出错,它总是正确地部

我一丝不苟地遵循AWS官方指南,为一个学校项目将Django应用程序部署到Elastic Beanstalk()。它在本地工作,但当我尝试部署它时,会显示一条500错误消息。我在代码中做了很多调整,但似乎没有效果。AWS仪表板显示一条警告:环境健康状况已从“正常”转变为“警告”。使用HTTP 5xx时,100%的请求失败。我现在在欧洲,这可能是一个时区问题吗

我试图将调试模式从true改为false,但我认为这不是问题所在。我真的不明白为什么它不工作,我从来没有在终端的执行中出错,它总是正确地部署所有东西。它只是因为某些原因而不显示网页

MacBook-Air-di-Davide:ebdjango davidemerlin$ eb create django-env
Creating application version archive "app-190718_165248".
Uploading ebdjango/app-190718_165248.zip to S3. This may take a while.
Upload Complete.
Environment details for: django-env
  Application name: ebdjango
  Region: eu-central-1
  Deployed Version: app-190718_165248
  Environment ID: e-3mxbcch2rm
  Platform: arn:aws:elasticbeanstalk:eu-central-1::platform/Python 3.6 running on 64bit Amazon Linux/2.8.6
  Tier: WebServer-Standard-1.0
  CNAME: UNKNOWN
  Updated: 2019-07-18 14:52:51.893000+00:00
Printing Status:
2019-07-18 14:52:51    INFO    createEnvironment is starting.
2019-07-18 14:52:52    INFO    Using elasticbeanstalk-eu-central-1-725098113628 as Amazon S3 storage bucket for environment data.
2019-07-18 14:53:16    INFO    Created security group named: sg-0d5da9ecf4206ab11
2019-07-18 14:53:32    INFO    Created load balancer named: awseb-e-3-AWSEBLoa-GCK3W368WNAW
2019-07-18 14:53:32    INFO    Created security group named: awseb-e-3mxbcch2rm-stack-AWSEBSecurityGroup-10HEII5KA2YFV
2019-07-18 14:53:32    INFO    Created Auto Scaling launch configuration named: awseb-e-3mxbcch2rm-stack-AWSEBAutoScalingLaunchConfiguration-16YCNNVJS4QJG
 -- Events -- (safe to Ctrl+C)

eb status

我也遇到了同样的问题,直到我意识到我的settings.py文件中没有包含以下行:

ALLOWED_HOSTS = ['eb-django-app-dev.elasticbeanstalk.com'] 
将括号内的链接替换为我自己的自定义应用程序链接,如本教程步骤5所述


保存文件并提交后,我能够消除500错误。

您解决了吗?我挣扎了好几个星期,但在严格按照指示操作后,我使用了502

然后我发现了这个,并推断它是一个输入错误或过时的指令(
*/wsgi.py
应该是
*.wsgi:application


创建了一个到AWS文档的应用程序,并在此后进行了更新。

我试图通过以下方式将我的Django Rest Api部署到Beanstalk。我遇到了相同的状态代码500错误

我通过以下两个更改成功地解决了这个问题:

  • AWS Beanstalk的python 3.6环境似乎无法与最新的Django版本配合使用。因此,我使用这个命令创建了一个新的python 3.7环境

    eb init -p python-3.7 django-tutorial
    
    
  • 将WSGI路径更改为:

    WSGIPath:YourDjangoProjectFolder.wsgi:application


  • 所有其他事项与该文档中描述的相同。

    日志(
    eb日志
    )和健康(
    eb健康
    )是什么样的?你能用ssh连接到你的实例中吗?正如@danimal所指出的,检查
    eb日志。考虑到HTTP 500正在返回,您应该在输出中看到堆栈跟踪。“*/wsgi.py应该是*.wsgi:application”是我建议的答案,我提供了指向文档的支持链接。这并没有提供问题的答案。若要评论或要求作者澄清,请在其帖子下方留下评论-
    
    eb init -p python-3.7 django-tutorial