簡體   English   中英

將 Django 應用程序部署到 Elastic Beanstalk 時出現內部服務器錯誤 500

[英]Internal Server Error 500 when deploying Django Application to Elastic Beanstalk

我按照官方 AWS 指南將 Django 應用程序部署到 Elastic Beanstalk ( https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-django.html ) 用於學校項目。 它在本地工作,但是當我嘗試部署時,它顯示 500 錯誤消息。 我在我的代碼中進行了許多調整,但它們似乎並不有效。 AWS 儀表板顯示一條警告,內容為:環境健康狀況已從正常轉變為警告。 100% 的請求因 HTTP 5xx 失敗。 因為我目前在歐洲,這可能是時區問題嗎?

我試圖將調試模式從 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
Environment details for: django-env
  Application name: ebdjango
  Region: eu-central-1
  Deployed Version: None
  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: django-env.q7fdcfwnii.eu-central-1.elasticbeanstalk.com
  Updated: 2019-07-18 14:53:32.535000+00:00
  Status: Launching
  Health: Grey
Alert: An update to the EB CLI is available. Run "pip install --upgrade awsebcli" to get the latest version.
(base) MacBook-Air-di-Davide:ebdjango davidemerlin$ eb deploy
Creating application version archive "app-190718_165726".
Uploading ebdjango/app-190718_165726.zip to S3. This may take a while.
Upload Complete.
2019-07-18 14:57:28    INFO    Environment update is starting.      
2019-07-18 14:57:31    INFO    Deploying new version to instance(s).
2019-07-18 14:57:53    INFO    New application version was deployed to running EC2 instances.
2019-07-18 14:57:53    INFO    Environment update completed successfully.

Alert: An update to the EB CLI is available. Run "pip install --upgrade awsebcli" to get the latest version.
(base) MacBook-Air-di-Davide:ebdjango davidemerlin$ eb open'''

I expect to load the page at django-env.q7fdcfwnii.eu-central-1.elasticbeanstalk.com

你解決了嗎? 我掙扎了幾個星期,但在完全按照說明進行操作后,我得到了 502。

然后我找到了這篇文章並推斷它是一個錯字或過時的說明( */wsgi.py應該是*.wsgi:application )。

向 AWS 文檔創建了一個拉取請求,並且他們已經更新了。

我遇到了同樣的問題,直到我意識到我的 settings.py 文件中沒有包含以下行:

ALLOWED_HOSTS = ['eb-django-app-dev.elasticbeanstalk.com'] 

用我自己的自定義應用程序鏈接替換括號內的鏈接,如本教程的第 5 步所述。

保存文件並提交后,我能夠擺脫 500 錯誤。

我試圖按照此文檔將我的 Django Rest Api 部署到 Beanstalk。 我遇到了同樣的狀態代碼 500錯誤。

我通過進行以下兩個更改設法解決了這個問題:

  1. AWS Beanstalk 的 python 3.6 環境似乎不適用於最新的 Django版本。 所以我使用這個命令創建了一個新的python 3.7環境。

     eb init -p python-3.7 django-tutorial
  2. WSGI 路徑更改

    WSGIPath: YourDjangoProjectFolder.wsgi:application

所有其他內容與該文檔中描述的相同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM