Product / Full stack / Урок 06

Nginx, HTTPS и systemd

Собираем production-версию, разворачиваем и проверяем весь контур.

Видео · 1:04Материалы · 10 минутРусскийОбновлён 02 августа 2026
Для кого
Разработчики, которые впервые доводят собственный frontend и API до production.
Перед началом
Собранные frontend-артефакты, Go-бинарник и известные переменные окружения.
01:04 Озвучка · встроенный текст

Моё обучение

Прогресс и заметка

Войдите, чтобы сохранять прогресс, закладки и личные заметки.

Войти

Материалы / 10 минут

Развернуть воспроизводимую версию приложения через Nginx и systemd с проверяемым откатом.

01

Разворачивайте артефакт, а не рабочую директорию

Frontend сначала собирается в статический каталог, backend — в бинарник. Production-процесс не должен компилировать зависимости после рестарта.

Зафиксируйте команды сборки, владельца файлов и путь конфигурации. Секреты передаются окружением или отдельным защищённым файлом и не попадают в Git.

02

Nginx завершает внешний HTTP-контур

Nginx принимает HTTPS, задаёт основной домен и проксирует frontend и API на loopback-порты. Приложения не обязаны слушать публичный интерфейс.

Перед reload всегда выполняйте проверку конфигурации. Хешированные ассеты можно кэшировать надолго, HTML — перепроверять при каждом открытии.

03

systemd отвечает за процесс

Unit фиксирует пользователя, рабочую директорию, команду запуска, порядок зависимостей и политику рестарта. Логи читаются через journalctl.

После deployment проверяйте не только active, но и публичные URL, API health, заголовки кэша и прямое открытие вложенного маршрута.

Минимальный systemd unit ini
[Service]
User=app
WorkingDirectory=/srv/product
EnvironmentFile=/etc/product.env
ExecStart=/srv/product/bin/api
Restart=always
RestartSec=3
NoNewPrivileges=true

Практика

Сделайте проверяемый release

Подготовьте deployment, который можно повторить и откатить без ручного редактирования файлов.

  1. 01

    Соберите frontend и backend одной документированной командой.

  2. 02

    Проверьте Nginx-конфигурацию до reload.

  3. 03

    Перезапустите systemd units и дождитесь active.

  4. 04

    Проверьте домен, вложенный URL, API и диапазонный запрос к медиа.

Критерии готовности

  • Production запускает готовые артефакты.
  • Сервисы слушают только назначенные адреса и порты.
  • Nginx-конфигурация проходит проверку.
  • Известен и проверен путь отката на предыдущий артефакт.