Я перенес сервер, на котором я должен был Ubuntu 16.04 и systemd
заменить upstart
. У меня три среды разработки: производство, постановка и разработка. Только последний использует локальную базу данных, остальные два используют удаленный. Итак, для того, чтобы справиться с развертыванием и обслуживанием мне удалось создать следующий файл systemd
службы:Как настроить gunicorn для чтения пользовательских настроек с помощью systemd
[Unit]
Description=Gunicorn service for Project
After=network.target
[Service]
User=projuser
WorkingDirectory=/home/projuser/sites/Project/source
ExecStartPre=/usr/bin/env DJANGO_SETTINGS_MODULE=v3.settings_staging
ExecStart=/home/projuser/sites/Project/env/bin/gunicorn --bind 127.0.0.1:8090 --workers 6 --access-logfile ../access.log --error-logfile ../error.log v3.wsgi:application
[Install]
WantedBy=multi-user.target
Служба начинается, но это, кажется, игнорирует эту строку: ExecStartPre=/usr/bin/env DJANGO_SETTINGS_MODULE=v3.settings_staging
. Я могу увидеть в логах следующие:
django.db.utils.OperationalError: could not connect to server: Connection refused
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 5432?
could not connect to server: Connection refused
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5432?
В основном потому, что он использует мой по умолчанию settings.py
файл, который я использую для развития.
Как я могу убедиться, что он загружает файл настроек.