Что такое служба
Большинство постоянно работающих программ в Linux — это демоны: фоновые процессы без терминала (веб-сервер, БД, планировщик). Их жизненным циклом управляет systemd — init-система и менеджер служб (процесс с PID 1).
Единица управления systemd называется юнитом. Самый частый тип юнита — service: он описывается unit-файлом и знает, как запустить программу, от какого пользователя, что делать при падении и от чего зависит.
Управление службами: systemctl
Основной инструмент — systemctl:
systemctl status nginx # состояние + последние строки журнала
systemctl start nginx # запустить сейчас
systemctl stop nginx # остановить
systemctl restart nginx # перезапустить
systemctl enable nginx # автозапуск при загрузке
systemctl is-active --quiet nginx && echo "работает"
Разделяй два понятия: active (работает прямо сейчас) и enabled (поднимется при загрузке). Служба может быть enabled, но не active — например, после сбоя или ручной остановки.
Веб-сервер nginx
nginx — быстрый веб-сервер и обратный прокси. Конфигурация лежит в
/etc/nginx/; включённые сайты — симлинки из sites-enabled/.
Золотое правило: меняешь конфиг — сначала проверь синтаксис, потом перезагружай.
nginx -t # проверка конфигурации (файл + строка ошибки)
systemctl reload nginx # применить без обрыва соединений
Самая частая поломка новичка — пропущенная ; в директиве (например, у listen).
nginx -t сразу укажет файл и строку — начинай диагностику всегда с него.
Когда служба не поднимается
systemctl status nginx— почему упала (код выхода, последние строки).journalctl -xeu nginx— подробный журнал службы (journalctl).- Для nginx —
nginx -t: чаще всего проблема в конфиге. - Починил конфиг →
systemctl start nginx→ проверь, чтоactive (running).
Проверяй результат по конечному состоянию, а не по набранным командам: «
nginx -tпроходит, служба active, сайт отвечает 200». Путей к этому несколько.