Production.py проблема с развертыванием cookiecutter-django и gunicorn в цифровой океан
Я построил проект Django, используя последнюю версию cookiecutter-django, которая, кажется, прекрасно работает на моем локальном компьютере, а также когда я запускаю его через python manage.py runserver
используя различные файлы настроек. Я пытаюсь протестировать свой сервер Gunicorn на Digital Ocean (под управлением Ubuntu 16.04), но по какой-то причине не могу правильно запустить сервер, когда production.py
тот, который используется.
Когда я делаю следующую команду на Bash:
gunicorn --bind 0.0.0.0:8000 --env DJANGO_SETTINGS_MODULE=config.settings.test --preload config.wsgi
все работает отлично, и я получаю эти:
[2018-02-18 23:31:14 -0500] [31662] [INFO] Starting gunicorn 19.7.1
[2018-02-18 23:31:14 -0500] [31662] [INFO] Listening at: http://0.0.0.0:8000 (31662)
[2018-02-18 23:31:14 -0500] [31662] [INFO] Using worker: sync
[2018-02-18 23:31:14 -0500] [31666] [INFO] Booting worker with pid: 31666
Но когда я не указываю файл настроек и по умолчанию production.py
с gunicorn --bind 0.0.0.0:8000 --preload config.wsgi
где переменная среды DJANGO_SETTINGS_MODULE
установлен в config.settings.production
Я только получаю это:
DEBUG 2018-02-18 23:31:55,786 base 31681 140442914699008 Configuring Raven for host: <raven.conf.remote.RemoteConfig object at 0x7fbb5cc0b668>
INFO 2018-02-18 23:31:55,786 base 31681 140442914699008 Raven is not configured (logging is disabled). Please see the documentation for more information.
И это в значительной степени просто застревает там. Что может быть причиной этой проблемы?
1 ответ
Похоже, это была проблема с SSL. По умолчанию cookiecutter-django запускает HTTPS, но на моем сервере еще нет сертификатов, поэтому он не работает. Я добавил следующий раздел в ~/.bashrc
файл и все заработало:
## for testing
export DJANGO_DEBUG=False (can be True when testing)
export DJANGO_SECURE_SSL_REDIRECT=True (can be False when testing)