Основы командной строки Linux и запуск сервисов

Фоновые процессы и автозапуск: systemd unit и journalctl

Содержание курса

3. Управление службой и автозапуск через systemctl

После создания нового файла или изменения существующего менеджер systemd ничего о нём не знает, пока его конфигурацию не перечитают с диска. Для этого выполняется команда перезагрузки конфигурации:

sudo systemctl daemon-reload

Команда systemctl enable отвечает только за автозапуск: она создаёт символическую ссылку на юнит в каталоге целевого режима multi-user.target.wants. Если вызвать sudo systemctl enable devops-demo без дополнительных параметров, служба будет добавлена в очередь загрузки ОС, но прямо сейчас не запустится — процесс останется неактивным. Чтобы зарегистрировать автозапуск и запустить сервис одной командой, передают флаг --now:

Связь unit-файла, симлинка автозапуска, процесса Python, журнала systemd и утилиты journalctl
Автозапуск, запуск службы и сбор логов в systemd
sudo systemctl enable --now devops-demo

Проверить состояние службы можно командой status:

systemctl status devops-demo

В выводе отобразится блок информации: статус active (running), идентификатор запущенного процесса (PID), используемый объём памяти и последние строки сообщений. Для автоматических проверок в скриптах используют команду systemctl is-active devops-demo. Она выводит текущее состояние службы (например, active, inactive, failed или activating), а результат сообщает через код завершения: 0, если служба активна, и ненулевой код при любом другом состоянии.

Проверим работу службы запросом внутри гостевой виртуальной машины:

curl http://127.0.0.1:8000/health

Сервер вернёт ответ от приложения. Однако если вы попытаетесь открыть http://127.0.0.1:18000 в браузере на основном компьютере с Windows, соединение будет сброшено. Правило проброса портов VirtualBox NAT перенаправляет трафик с порта 18000 хоста на внешний сетевой адрес гостевой виртуальной машины, а процесс слушает только внутренний интерфейс 127.0.0.1. Прямой доступ снаружи появится позже, когда перед приложением будет настроен обратный прокси-сервер.

Начать заново?

Помощник начнёт новый диалог по этой задаче. Текущая переписка останется в истории до конца срока хранения.

О переписке

Можно приложить до трёх фото PNG, JPEG или WebP по 5 МБ.

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

Проверка решения остаётся отдельным действием.