←
Документация
Архитектура
Статус
Контекст
История
Продакшн
Ноут Олега
VPS
COM Oleg
COM Pavel
Коммиты VPS
Коммиты Цеха
COM_Pavel.md — Шпаргалка по командам для Павла
0. Как войти в системы
| Среда | Как войти | Вид приглашения |
|---|---|---|
| PowerShell | Win+R → powershell |
PS C:\Users\Pavel> |
| SSH (VPS) | ssh deploy@128.140.81.213 |
deploy@znymkari:~$ |
| SSH (Цех) | ssh deploy@192.168.31.87 |
deploy@oleg-home:~$ |
| Python (venv) | source venv/bin/activate (из папки проекта) |
(venv) deploy@...:~$ |
Секция 1: VPS (Сайт)
1.1. Посмотреть логи сервера (Ошибки Django)
| Описание | Где выполнять |
|---|---|
| Показывает сырой вывод работы сайта. Нужно, если сайт выдал 500-ю ошибку. | Windows-ПК, Bash (SSH) |
Копировать блоком (Bash):
journalctl -u gunicorn-znymkari -f
tail -f /var/log/znymkari/django.log
journalctl -u ...— системный лог службы.tail -f— следить за файлом лога в реальном времени (выход по Ctrl+C).
1.2. Запустить тесты (перед деплоем)
| Описание | Где выполнять |
|---|---|
| Проверяет, что в коде нет фатальных ошибок (должно быть 77 OK). | VPS, Python (venv) в /home/deploy/content_shop/web |
Копировать блоком (Bash):
python manage.py test -v 2
test— встроенная команда Django для проверки кода.-v 2— подробный вывод (показывает каждый пройденный тест).
1.3. Применить миграции и собрать статику
| Описание | Где выполнять |
|---|---|
| Обновляет структуру базы данных и собирает CSS/JS после деплоя. | VPS, Python (venv) в /home/deploy/content_shop/web |
Копировать блоком (Bash):
python manage.py migrate --noinput
python manage.py collectstatic --noinput
migrate— применяет изменения в БД.collectstatic— собирает статические файлы в одну папку для nginx.--noinput— не задавать вопросов (автоматический режим).
1.4. Перезапустить сайт (Gunicorn)
| Описание | Где выполнять |
|---|---|
| Перезапускает веб-сервер после обновления кода. | VPS, Bash (SSH) |
Копировать блоком (Bash):
sudo systemctl restart gunicorn-znymkari
systemctl restart— перезапуск службы.gunicorn-znymkari— имя службы сайта на VPS.
1.5. Принять пакет от цеха (receive_event)
| Описание | Где выполнять |
|---|---|
Запускается автоматически из push_event, но можно вызвать вручную для отладки. |
VPS, Python (venv) в /home/deploy/content_shop/web |
Копировать блоком (Bash):
python manage.py receive_event 0001_vesnyana_feyeriya
receive_event— команда мягкого слияния JSON в БД.0001_...— slug ивента (папка в /tmp/znymkari-incoming/).
Секция 2: ЦЕХ (Ноут)
2.1. Перезапустить цех (после правок)
| Описание | Где выполнять |
|---|---|
| Применяет изменения и перезапускает мини-админку цеха. | Цех, Python (venv) в /home/deploy/znymkari-data |
Копировать блоком (Bash):
python manage.py migrate
sudo systemctl restart gunicorn-oleg
migrate— обновление структуры БД.gunicorn-oleg— имя службы цеха.
2.2. Импорт фестиваля (с диска на HDD)
| Описание | Где выполнять |
|---|---|
| Копирует файлы фестиваля из zny-festivals в рабочую папку, генерирует превью и пишет в БД. | Цех, Python (venv) в /home/deploy/znymkari-data |
Копировать блоком (Bash):
python manage.py import_media 1 "Dance Vocal Class"
1— ID ивента в БД (создается заранее в админке Django)."Dance Vocal Class"— точное имя папки внутри /mnt/hdd/zny-festivals/.
2.3. Добрать постеры видео (если не создались)
| Описание | Где выполнять |
|---|---|
| Проходит по видеофайлам и генерирует недостающие постеры и 10-сек превью. | Цех, Python (venv) в /home/deploy/znymkari-data |
Копировать блоком (Bash):
python manage.py generate_video_posters 1
1— ID ивента.--force— (опционально) перезаписать уже существующие постеры.
2.4. Собрать пакет и отправить на VPS
| Описание | Где выполнять |
|---|---|
| Упаковывает JSON, превью и метаданные в архив, затем отправляет по SFTP и запускает receive_event. | Цех, Python (venv) в /home/deploy/znymkari-data |
Копировать блоком (Bash):
python manage.py pack_event 1
python manage.py push_event 1
pack_event— собирает архив в папку dist/.push_event— отправляет архив на VPS и запускает команду приема.1— ID ивента.
2.5. Посмотреть логи цеха
| Описание | Где выполнять |
|---|---|
| Показывает, что происходит в мини-админке (ошибки Django). | Windows-ПК, Bash (SSH) |
Копировать блоком (Bash):
journalctl -u gunicorn-oleg -f
-f— следить за обновлениями в реальном времени.