Я пытаюсь развернуть приложение Django на Elastic Beanstalk. Когда я посещаю страницу, она никогда не загружается. Журналы говорят:
Script timed out before returning headers: wsgi.py
Я могу отправить ssh на сервер и запустить manage.py runserver
, а затем curl 127.0.0.1:8000
с другого терминала, который вернет страницу успешно. Поэтому я предполагаю, что это должна быть проблема с конфигурацией Apache, которая настроена как часть Elastic Beanstalk.
Вот несколько журналов:
[pid 15880] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[so:warn] [pid 15880] AH01574: module wsgi_module is already loaded, skipping
[auth_digest:notice] [pid 15880] AH01757: generating secret for digest authentication ...
[lbmethod_heartbeat:notice] [pid 15880] AH02282: No slotmem from mod_heartmonitor
[mpm_prefork:notice] [pid 15880] AH00163: Apache/2.4.9 (Amazon) mod_wsgi/3.4 Python/2.7.5 configured -- resuming normal operations
[core:notice] [pid 15880] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND'
[:error] [pid 15881] /opt/python/run/venv/lib/python2.7/site-packages/numpy/oldnumeric/__init__.py:11: ModuleDeprecationWarning: The oldnumeric module will be dropped in Numpy 1.9
[:error] [pid 15881] warnings.warn(_msg, ModuleDeprecationWarning)
[:error] [pid 15881]
[core:error] [pid 15884] [client 10.248.110.45:58996] Script timed out before returning headers: wsgi.py
И мой файл wsgi.py:
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "aurora.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
Любые подсказки относительно того, что может быть причиной этого?
UPDATE:
Я перестроил свою среду и снова столкнулся с этой проблемой. Я обновил /etc/httpd/conf.d/wsgi.conf
, чтобы включить WSGIApplicationGroup %{GLOBAL}
как указано здесь. Я использую Scipy, Numpy и GeoDjango (который использует GDAL). Я знаю, что GDAL не полностью потокобезопасен, и я не уверен в других, но я предполагаю, что это проблема безопасности потоков.