Справочник

Команда systemctl: как запустить, остановить и перезапустить службу

Службы — это программы, которые работают на сервере в фоне: nginx, база данных, PHP. Ими управляет systemd, а команды ему отдают через systemctl. Ниже — главные команды, как читать ответ status и что делать, если служба не запускается.

Обновлено 11.10.2026≈ 4 мин чтения
Содержание 9

Что сделать прямо сейчас

  1. Подключитесь к серверу — инструкция.
  2. Посмотрите, работает ли nginx: systemctl status nginx. Найдите строку Active:. Вернуться к вводу команд — клавиша Q.
  3. После правки настроек nginx проверьте их и примените: sudo nginx -t, затем sudo systemctl reload nginx.
  4. Убедитесь, что служба работает: systemctl is-active nginx. Ответ active — работает.
  5. Посмотрите, не упало ли что-то ещё: systemctl --failed.

Для команд, которые что-то меняют, нужен sudo. Посмотреть состояние — status, is-active, --failed — можно и без него. Окончание .service писать не нужно: nginx и nginx.service — одно и то же.

Главные команды

КомандаЧто делает
systemctl status nginxсостояние службы и последние строки её журнала
sudo systemctl start nginxзапустить
sudo systemctl stop nginxостановить
sudo systemctl restart nginxостановить и запустить заново
sudo systemctl reload nginxперечитать настройки, не останавливая службу
sudo systemctl enable nginxвключить автозапуск при загрузке сервера
sudo systemctl disable nginxвыключить автозапуск
sudo systemctl enable --now nginxвключить автозапуск и сразу запустить
systemctl is-active nginxответит одним словом: работает служба или нет
systemctl is-enabled nginxответит, включён ли автозапуск
systemctl --failedсписок упавших служб
systemctl list-units --type=service --state=runningвсе работающие службы
systemctl cat nginxпоказать файл службы
sudo systemctl daemon-reloadперечитать файлы служб после их правки

restart или reload

reload просит службу перечитать свои настройки и не останавливает её. Для nginx после правки конфига это лучший вариант: сайт не прерывается. Перед ним проверяйте настройки командой sudo nginx -t.

restart полностью останавливает службу и запускает снова. Он нужен, когда reload не помог или служба reload не умеет. Если не знаете, умеет ли, наберите sudo systemctl reload-or-restart имя: systemctl сам выберет.

reload перечитывает настройки самой программы, например конфиг nginx, а не файл службы systemd. Если вы поменяли файл службы, нужен sudo systemctl daemon-reload — подробнее в статье Warning: … changed on disk.

Как читать systemctl status

Главное — две строки в начале ответа:

СтрокаЧто в нейЧто значит
Loaded:loaded и путь к файлу службыsystemd нашёл службу
Loaded:not-foundтакой службы нет — разбор
Loaded:maskedслужба запрещена — разбор
Loaded:enabled или disabledвключён ли автозапуск
Active:active (running)служба работает
Active:inactiveслужба остановлена
Active:activatingслужба запускается — подождите и посмотрите снова
Active:failedслужба упала — что делать

Кружок перед именем службы подсказывает то же самое цветом и формой: зелёная точка — работает, белый кружок — остановлена, красный крестик — упала.

Ниже строк о службе — последние 10 строк её журнала: ошибка видна уже там. Больше строк покажет systemctl status nginx -n 50, полный журнал — Команда journalctl.

Длинный ответ systemctl открывает в less: листайте стрелками, выход — Q. Чтобы ответ просто вывелся на экран, добавьте --no-pager. Обрезанные строки целиком покажет ключ -l.

Автозапуск: enable — не то же, что start

enable отвечает только за то, запустится ли служба после перезагрузки сервера. Сейчас она от этого не запустится — для этого нужен start, или обе команды разом: sudo systemctl enable --now имя.

disable выключает автозапуск, но работающую службу не останавливает. Выключить автозапуск и остановить сразу — sudo systemctl disable --now имя.

Есть ещё команда mask — она запрещает запуск службы совсем, даже вручную. Если служба не запускается из-за неё, читайте статью Unit … is masked.

Проверка в скрипте

systemctl is-active возвращает код 0, если служба работает, и другой код, если нет. Ключ --quiet убирает слово из ответа. Так проверяют службу в скриптах:

systemctl is-active --quiet nginx && echo работает || echo не работает

Ошибки и как их исправить

ОтветЧто сделать
Job for … .service failedразбор ошибки; для nginx — отдельная статья
Unit … .service not foundразбор
Unit … .service is maskedразбор
Start request repeated too quicklyразбор
Warning: The unit file … changed on diskразбор
System has not been booted with systemdразбор

Все ошибки служб и диска собраны в разделе Ошибки systemd и диска.

Источники

  • Справка systemctl для Ubuntu 24.04 — команды start, stop, restart, reload, enable, disable, status, is-active, is-enabled, daemon-reload, ключи --now, --failed, -n и --no-pager, строки Loaded и Active.

Сверено 11 октября 2026 года.

Что почитать дальше

Проверено и обновлено: 11.10.2026