Обзор
Я создал приложение Django на своей машине, которое работает локально, используя: python manage.py runserver
Я хочу развернуть его в AWS Elastic Beanstalk, чтобы сделать его публичнымвидимый.Я использовал pip
для установки eb cli
и запустил eb init
и настроил все мои настройки.
Когда я закачиваюсь и вручную загружаю свой код в среду AWS, я получаю сообщение об ошибке в моем файле wsgi.py
:
Your WSGIPath refers to a file that does not exist.
Я уже посмотрелна другие вопросы здесь, в SO, я посмотрел на структуру моего проекта (см. ниже), мои файлы .gitignore
и .ebignore
, я перезапустил свою среду и попробовал различные пути для файла wsgi.py
.
Структура проекта
fresh_air/ ------------------> This is the folder that I zip up
\ -- .ebextensions
\ -- django.config
\ -- .elasticbeanstalk
\ -- config.yml
\ -- some other auxiliary apps that assist the main app
\ -- fresh_air/ --------------> My main app
\ -- static/
\ -- __init__.py
\ -- settings.py
\ -- urls.py
\ -- views.py
\ -- wsgi.py
\ -- .ebignore (empty file, just there to overwrite .gitignore)
\ -- .gitignore
\ -- manage.py
\ -- requirements.txt
django.config
option_settings:
aws:elasticbeanstalk:container:python:
WSGIPath: fresh_air/wsgi.py
config.yml
branch-defaults:
default:
environment: FreshAir-env
environment-defaults:
FreshAir-env:
branch: null
repository: null
global:
application_name: fresh-air
default_ec2_keyname: null
default_platform: arn:aws:elasticbeanstalk:us-west-2::platform/Python 3.6 running
on 64bit Amazon Linux/2.8.2
default_region: us-west-2
include_git_submodules: true
instance_profile: null
platform_name: null
platform_version: null
profile: eb-cli
sc: null
workspace_type: Application
wsgi.py
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'fresh_air.settings')
application = get_wsgi_application()
Журналы ошибок Elastic Beanstalk
Iожидается, что WSGIPath
, предоставленный в django.config
, будет правильным и приведет прямо к wsgi.py, но, похоже, он этого не делает.Может ли это быть причиной того, что я сначала создал приложение Django, а затем попытался сделать его совместимым с Elastic Beanstalk?