Django Internal Server 500 Error Проблема AWS Elastic-Beanstalk

Как исправить ошибку Django Internal Server 500 в развернутом приложении AWS eb?

Нужно ли мне изменить разрешенные хосты в моем файле base.py, чтобы иметь IP-адрес ec2 в elasticbeanstalk?

# SECURITY WARNING: keep the secret key used in production secret!
# Raises ImproperlyConfigured exception if SECRET_KEY not in os.environ
SECRET_KEY = env('SECRET_KEY')

ALLOWED_HOSTS = []

# Application definition

INSTALLED_APPS = (
    'django.contrib.auth',
    'django_admin_bootstrapped',
    'django.contrib.admin',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
)

...

STATIC_URL = '/static/'

ALLOWED_HOSTS = []

...

Я включил DEBUG и запустил eb config и eb logs. Значения eb deploy отображаются ниже, а ниже — значения eb logs. Как решить проблему с сообщением «Нет модуля с именем django?»

    Creating application version archive "app-3e17-161020_112522".
Uploading pronet/app-3e17-161020_112522.zip to S3. This may take a while.
Upload Complete.
INFO: Environment update is starting.                               
INFO: Deploying new version to instance(s).                         
INFO: New application version was deployed to running EC2 instances.
INFO: Environment update completed successfully. 

Ниже приведены выходные данные журналов eb.

============= i-0b11de8b8521ea5c0 ==============
-------------------------------------
/var/log/httpd/error_log
-------------------------------------
[Thu Oct 20 17:46:59.414032 2016] [:error] [pid 11268] 
[remote 172.31.5.67:41390] Traceback (most recent call last):

[Thu Oct 20 17:46:59.414077 2016] [:error] [pid 11268] 
[remote 172.31.5.67:41390]   File "/opt/python/current/app/pronet/src/pronet/wsgi.py", line 12, in <module>

[Thu Oct 20 17:46:59.414083 2016] [:error] [pid 11268] 
[remote 172.31.5.67:41390]     from django.core.wsgi import get_wsgi_application

[Thu Oct 20 17:46:59.414104 2016] [:error] [pid 11268] 
[remote 172.31.5.67:41390] ImportError: No module named 'django'

[Thu Oct 20 17:47:00.046644 2016] [:error] [pid 11268] 
[remote 172.31.5.67:43182] mod_wsgi (pid=11268): Target WSGI script '/opt/python/current/app/pronet/src/pronet/wsgi.py' cannot be loaded as Python module.

[Thu Oct 20 17:47:00.046704 2016] [:error] [pid 11268] 
[remote 172.31.5.67:43182] mod_wsgi (pid=11268): Exception occurred processing WSGI script '/opt/python/current/app/pronet/src/pronet/wsgi.py'.

[Thu Oct 20 17:47:00.046738 2016] [:error] [pid 11268] 
[remote 172.31.5.67:43182] Traceback (most recent call last):

[Thu Oct 20 17:47:00.046784 2016] [:error] [pid 11268] 
[remote 172.31.5.67:43182]   File "/opt/python/current/app/pronet/src/pronet/wsgi.py", line 12, in <module>

[Thu Oct 20 17:47:00.046789 2016] [:error] [pid 11268] 
[remote 172.31.5.67:43182]     from django.core.wsgi import get_wsgi_application

[Thu Oct 20 17:47:00.046810 2016] [:error] [pid 11268] 
[remote 172.31.5.67:43182] ImportError: No module named 'django'

[Thu Oct 20 17:47:01.340552 2016] [:error] [pid 11268] 
[remote 172.31.5.67:43182] mod_wsgi (pid=11268): Target WSGI script '/opt/python/current/app/pronet/src/pronet/wsgi.py' cannot be loaded as Python module.

[Thu Oct 20 17:47:01.340603 2016] [:error] [pid 11268] 
[remote 172.31.5.67:43182] mod_wsgi (pid=11268): Exception occurred processing WSGI script '/opt/python/current/app/pronet/src/pronet/wsgi.py'.

[Thu Oct 20 17:47:01.340653 2016] [:error] [pid 11268] [remote 172.31.5.67:43182] Traceback (most recent call last):

[Thu Oct 20 17:47:01.340701 2016] [:error] [pid 11268] 
[remote 172.31.5.67:43182]   File "/opt/python/current/app/pronet/src/pronet/wsgi.py", line 12, in <module>

[Thu Oct 20 17:47:01.340706 2016] [:error] [pid 11268] 
[remote 172.31.5.67:43182]     from django.core.wsgi import get_wsgi_application

[Thu Oct 20 17:47:01.340728 2016] [:error] [pid 11268] 
[remote 172.31.5.67:43182] ImportError: No module named 'django'

ссылка на проект на гитхабе. Вы можете просмотреть весь код здесь

https://github.com/IantheFlyingHawaiian/Pronet


comment
у вас включена отладка в settings.py? Если да, то какая там трассировка?   -  person Jonathan    schedule 20.10.2016
comment
включите DEBUG, чтобы увидеть ошибку в консоли   -  person Hisham Karam    schedule 20.10.2016
comment
Я включил отладку, но все равно получаю ту же ошибку, что модуль django не найден. Есть идеи, почему?   -  person Jwoozy    schedule 21.10.2016


Ответы (2)


Ты сделал это?

pip freeze > requirements.txt

Если вы этого не сделали, AWS не будет знать, что он должен установите Django и другие зависимости на ваши инстансы EC2 для вашего развертывания.

person Peter Li    schedule 02.09.2017

В моем случае ошибка с sqllite

Удалите настройки базы данных из settings.py и попробуйте развернуть

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

Затем я настроил AWS RDS.

person Arun K    schedule 18.06.2020
comment
Так было и со мной. Версия ОС sqlite была слишком низкой для адаптера, который я использовал. - person connorbode; 01.12.2020