Из-за временных ограничений на территории РФ наблюдаются проблемы с оплатой. Если платёж не проходит, оставьте запрос в службу поддержки.Служба поддержки работает 24/7 — мы всегда на связи по вопросам хостинга и серверов.Открыт прием заявок на аренду выделенных серверов и размещение оборудования в дата-центре.Напоминаем: рекомендуем включить резервное копирование для дополнительной защиты данных.Доступна новая линейка VPS/VDS с NVMe-дисками и увеличенной производительностью.Технические работы на части серверов завершены. Все сервисы работают в штатном режиме.
Статья3 мин чтенияПросмотры0

Сервис не работает: что проверить через systemctl до перезапуска

Как прочитать состояние службы systemd, отличить запуск процесса от готовности приложения и собрать факты до изменения состояния сервера.

Передняя панель серверного оборудования с индикаторами состояния
В этой статье

Когда сайт недоступен, перезапуск службы кажется самым быстрым действием. Но он может стереть удобный для диагностики контекст и ненадолго скрыть повторяющуюся ошибку. Сначала полезно узнать, запущен ли сервис, чем закончилась последняя попытка и какой именно компонент отвечает за запросы.

Найдите точное имя службы

Инструкция рассчитана на Linux с systemd. В примере используется nginx.service; если у вас другой веб-сервер или контейнерная схема, подставлять это имя без проверки не нужно. Команды просмотра состояния ничего не перезапускают.

systemctl status nginx.service --no-pager --full

В выводе смотрите, загружен ли unit, активен ли он, какой основной процесс связан со службой и какие последние сообщения попали в статус. Если служба не найдена, проверьте её реальное имя и способ запуска приложения. Не устанавливайте новый веб-сервер только для того, чтобы пример команды начал работать.

Получите отдельные свойства

Для компактного результата выполните:

systemctl show nginx.service -p LoadState -p ActiveState -p SubState -p Result -p MainPID

Свойства помогают разделить несколько ситуаций: описание службы отсутствует, процесс остановлен, запуск завершился ошибкой или unit считается активным. Значение active не гарантирует, что сайт отдаёт правильную страницу или успешно обращается к базе данных.

Проверка systemctl is-active nginx.service удобна для сценариев, но её ненулевой код выхода нужно интерпретировать в контексте состояния. Он не заменяет чтение причины отказа. Также не путайте включение автозапуска и текущий запуск: это разные свойства службы.

Сопоставьте службу и пользовательскую ошибку

Предположим, Nginx активен, но запросы заканчиваются ошибкой шлюза. Это совместимо с проблемой приложения за веб-сервером. В таком случае повторный запуск Nginx может не изменить ситуацию: нужно проверить upstream, сокет и журналы связанных служб.

Другой пример — service завершился сразу после старта. Последние строки статуса могут подсказать ошибку конфигурации, но полный журнал за нужное время надёжнее нескольких обрезанных сообщений. Запишите время неудачного запуска и перейдите к ограниченной выборке журнала.

Сохраните данные до вмешательства

Отметьте имя unit, состояние, результат последнего запуска и время инцидента. Если виден идентификатор процесса, проверьте, соответствует ли он ожидаемой программе. Вывод статуса может содержать пути или фрагменты журналов, поэтому перед передачей удалите секреты и данные клиентов.

Не объединяйте диагностику с автоматическим перезапуском в одной скопированной строке. Сначала должно быть понятно, какой сервис затронут и какое действие допускает его рабочая схема. Для одних приложений достаточно исправить зависимость, для других нужен согласованный перезапуск с проверкой текущих операций.

Как подтвердить восстановление

После выбранного администратором действия проверьте состояние службы снова и отдельно выполните обычный пользовательский сценарий. Например, загрузка главной страницы подтверждает только эту страницу; для магазина может понадобиться проверка каталога и оформления тестового заказа. Успешный статус процесса и работоспособность услуги нужно подтверждать отдельно.

Обсуждение 0

Делись опытом и задавай вопросы. Комментарии без ссылок появляются после проверки редактором.

Пока никто не написал. Начни обсуждение.