web-dev-qa-db-ja.com

AWS Elastic Beanstalk:WSGIパスが間違っていますか?

私は最初のアプリケーションを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 and Django 2.2。

私はEBがapplication.pyを検索することを知っており、設定ファイルはサーバーをカスタムアプリに向けるようになっていると思いましたか?ここで何が欠けていますか?

編集:私はこのエラーも発生しています:

ModuleNotFoundError: No module named 'ebdjango/wsgi'

ファイル構造に問題がありますか?

編集2:init。pyファイルを私の投稿に含めるのを忘れました、Benのコメントを参照してください。

6
Jon Hrovat

今日、Django.configファイルをいじりながら同じ問題が発生しました。構成タブのWSGIパスをebdjango.wsgi:applicationに変更すると、ようやく機能しました。

1
kml

Django.configの変更:

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

そしてあなたの

import os
from Django.core.wsgi import get_wsgi_application
os.environ["Django_SETTINGS_MODULE"] = "ebdjango.settings"
application = get_wsgi_application()
0