Estoy intentando implementar mi primera aplicación en EB y estoy siguiendo este turorial: https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-django.html
Desafortunadamente, sigo recibiendo un error 502 cuando implemento la aplicación final. Estoy confundido porque he seguido las instrucciones hasta el tee.
me sale el siguiente error
ImportError: Failed to find application, did you mean 'ebdjango/wsgi:application'?No estoy seguro de lo que esto significa. Según las instrucciones, edité el archivo django.config para incluir este texto:
option_settings: aws:elasticbeanstalk:container:python: WSGIPath: ebdjango/wsgi.pyEsto parece coincidir con mi estructura de archivos:
- ebdjango -.ebextensions - django.config - .elasticbeanstalk - ebdjango _ __init__.py - settings.py - urls.py - wsgi.py - manage.py - requirements.txtEntonces, el archivo de configuración está configurado correctamente, ¿verdad?
Estoy ejecutando Python 3.7 y Django 2.2.
Sé que EB busca application.py, y pensé que se suponía que el archivo de configuración apuntaba al servidor hacia mi aplicación personalizada. ¿Que me estoy perdiendo aqui?
EDITAR: También recibo este error:
ModuleNotFoundError: No module named 'ebdjango/wsgi'¿Hay algo mal en mi estructura de archivos?
EDIT 2: Olvidé incluir el archivo init .py en mi publicación, vea el comentario de Ben.
En su cambio django.config:
option_settings: aws:elasticbeanstalk:container:python: WSGIPath: ebdjango.wsgiy en tu
import os from django.core.wsgi import get_wsgi_application os.environ["DJANGO_SETTINGS_MODULE"] = "ebdjango.settings" application = get_wsgi_application()Tuve el mismo problema hoy jugando con el archivo django.config. Finalmente me funcionó cuando cambié la ruta de WSGI en la pestaña de configuración a ebdjango.wsgi:application.
Tuve el mismo problema. Es debido a la imagen de máquina de Amazon Linux 2. Sus archivos de configuración son incompatibles con los de la versión anterior. Consulte: https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.migration-al.html . Terminé usando la versión anterior porque la documentación dice:
Si está utilizando una versión de la plataforma Amazon Linux 2 que está en beta para su evaluación, no pase a producción. Espere hasta que lancemos una versión de plataforma compatible.
Puede crear un entorno de Elastic Beanstalk con la imagen de máquina de Amazon Linux (versión anterior) mediante la herramienta de línea de comandos. Aquí están los comandos (reemplace <...> con sus datos):
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" Actualización 2020-06-02 Como mencioné antes, el problema es causado por la plataforma Amazon Linux 2 porque usa Gunicorn, que tiene una sintaxis WSGI que es diferente a la versión anterior. WSGIPath debe ser ebdjango.wsgi:application . Consulte https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-container.html#python-namespaces .