2023-12-30 14:45:29 +03:00

ospaz-site

Необходимое ПО

Для запуска данного сайта требуется следующее ПО:

  • база данных PostgreSQL
  • реверс-прокси сервер nginx
  • интерпретатор Python с версией не ниже 3.11

Первый запуск

Подготовка python-venv

Первым делом нужно создать virtual env. Сделать это можно следующей командой:

python -m venv ./venv

Далее нужно активировать virtual env. Активация на разных платформах описана в документации по ссылке: https://docs.python.org/3/library/venv.html#how-venvs-work

Далее нужно установить зависимости проекта. Они все перечислены в файле requirements.txt. Для установки всех зависимостей нужно ввести следующую команду:

pip install -r requirements.txt

После успешной установки зависимостей виртуальное окружение готово к работе. При запуске проекта в следующий раз виртуальное окружение нужно будет только активировать.

Далее для всех команд считается, что виртуальное окружение активировано.

Подготовка переменных окружения

Пароли, ключи и прочие настройки сайта задаются через переменные окружения. Для корректной работы сайта нужно скопировать файл .env-template с новым именем .env.

После копирования необходимо отредактировать файл .env, вставив корректные значения следующих переменных:

  • DB_NAME="db_name" - Название базы данных
  • DB_USERNAME="db_user" - Имя пользователя базы данных
  • DB_PASSWORD="db_pass" - Пароль пользователя базы данных
  • DB_HOST="example.com" - Имя хоста базы данных, доменное имя или IP-адрес
  • DB_PORT=5432 - Порт базы данных, изменять по умолчанию не требуется
  • DJANGO_SECRET="django-secure-******" - Секретный ключ django для подписи сессий. Вместо звездочек нужно вставить длинную строку (>40) случайных символов. Этот ключ не нужно запоминать или где-то хранить.

Остальные переменные окружения не следует изменять, если в этом нет необходимости.

Применение миграций

После клонирования репозитория и настройки venv нужно выполнить следующие команды:

python manage.py makemigrations users index logs_service
python manage.py migrate

Создание суперпользователя

Для создания суперпользователя нужно ввести команду

python manage.py createsuperuser

Команда попросит ввести логин и пароль, потом повторить введенный пароль.

Запуск сервера

Для запуска сервера нужно ввести команду

python manage.py runserver localhost:39080 --noreload

В данном случае сервер будет прослушивать адрес localhost и порт HTTP 39080. Порт и прослушиваемый адрес можно изменять.

Конфигурация nginx

Для корректной работы сайта нужно вставить следующую конфигурацию в nginx.conf в секцию виртуального хоста:

location /static {
    alias "<path-to-site-root>/static";
}

location /favicon.ico {
    add_header Content-type "image/svg+xml";
    alias "<path-to-site-root>/static/favicon.svg";
}

location / {
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_pass http://localhost:39080; // адрес и порт, указанные при запуске сервера
}

При этом нужно заменить <path-to-site-root> на путь к папке, в которой расположен сайт.

Description
Сайт для ОСПАЗ. Сайт показывает графики уровня воды в резервуаре и позволяет мониторить состояние насосной станции
https://ospaz.severstal.com
Readme 284 KiB
Languages
Python 50.7%
HTML 27%
JavaScript 20.5%
CSS 1.8%