Debian Debian 12Debian 13

Debian Linux: systemd показывает active, но приложение не отвечает

  • Обновлено
  • Чтение ≈ 4 минуты
  • Нужны права администратора

Краткий ответ

Systemd в Debian сообщает active (running), но веб-приложение или другая служба не отвечает клиенту. Systemd отслеживает процесс, а не гарантию того, что он слушает нужный порт, завершил инициализацию и выполняет запросы.

В этой статье
  1. Когда возникает ошибка в Debian и какие условия важны
  2. Причины и как отличить их друг от друга
  3. Пошаговая диагностика и устранение
  4. Проверка результата и действия при неуспехе

#Когда возникает ошибка в Debian и какие условия важны

Systemd в Debian сообщает active (running), но веб-приложение или другая служба не отвечает клиенту. Systemd отслеживает процесс, а не гарантию того, что он слушает нужный порт, завершил инициализацию и выполняет запросы.

#Причины и как отличить их друг от друга

Возможная причинаКак узнатьЧто делать
Процесс слушает неверный адрес или портss показывает localhost вместо внешнего адреса либо порт другой.Сверить конфигурацию приложения и обратного прокси.
Зависимость приложения недоступнаВ журнале есть ошибка подключения к БД или очереди, хотя процесс активен.Проверить конкретную зависимость и её доступ.
Запрос блокируется между клиентом и сервисомЛокальный curl успешен, а внешний запрос не проходит.Разобрать DNS, маршруты, firewall и reverse proxy отдельно.

#Пошаговая диагностика и устранение

  1. 1. Зафиксируйте, какой ответ считается правильнымОткройте терминал Debian на сервере, запишите реальный адрес приложения и проверочный URL, который не меняет данные. Выполните systemctl status и show для нужной службы. У Type=simple активное состояние означает запуск процесса, но не прохождение внутренней проверки работоспособности.
    Linux · Терминал (Bash)Команда
    Чтение данных и диагностика. Изменений нет.
    systemctl status ИМЯ.service --no-pager
    systemctl show ИМЯ.service -p Type -p MainPID -p ExecStart
  1. 2. Найдите адрес прослушивания и владельца портаС правами администратора выполните ss -ltnp; для UNIX-сокетов дополнительно ss -xlpn. Найдите ожидаемый порт и процесс. Слушание 127.0.0.1 корректно при nginx или другом обратном прокси, но не обеспечивает прямой доступ извне; не меняйте bind на 0.0.0.0 автоматически.
  2. Команды только читают открытые порты и сокеты
    Linux · Терминал (Bash)КомандаНужен sudo
    Команды только читают открытые порты и сокеты.
    sudo ss -ltnp
    sudo ss -xlpn
  1. 3. Проверьте приложение локальным запросом без побочных действийДля HTTP укажите реальный порт и безопасный GET-путь, например документированный health-endpoint. Примерные заполнители ПОРТ и ПУТЬ нужно заменить. Код 404 может означать неверный путь, а 200 с JSON-ошибкой — неуспешную работу; оценивайте содержимое ответа и время.
  2. Чтение данных и диагностика
    Linux · Терминал (Bash)Команда
    Чтение данных и диагностика. Изменений нет.
    curl -v --max-time 10 http://127.0.0.1:ПОРТ/ПУТЬ
  1. 4. Сопоставьте ошибку с журналом в момент обращенияСразу после пробного запроса выполните journalctl для приложения. Ищите ошибки базы данных, отсутствующего файла, переполнения очереди, сертификата или нехватки памяти. Не публикуйте логи целиком: в них могут быть персональные данные, заголовки авторизации и токены.
    Linux · Терминал (Bash)Команда
    Чтение данных и диагностика. Изменений нет.
    journalctl -u ИМЯ.service -b --no-pager -n 120
    systemctl --failed --no-pager
  1. 5. Проверьте зависимости и загрузку ресурсовЕсли программа отвечает медленно, проверьте память и использование диска; нехватка свободного пространства у /var может блокировать запись логов и сессий. При недоступной БД отдельно проверьте её службу или удалённый адрес; не запускайте массовую очистку диска и не перезапускайте все сервисы сразу.
  2. Чтение данных и диагностика
    Linux · Терминал (Bash)Команда
    Чтение данных и диагностика. Изменений нет.
    free -h
    df -hT
    systemctl show ИМЯ.service -p MemoryCurrent -p TasksCurrent
  1. 6. Разделите локальную и внешнюю сетевую неисправностьЕсли локальный curl отвечает, проверьте с клиента DNS, адрес сервера и доступность через прокси. На Debian сетевые правила могут контролироваться nftables, ufw, панелью хостинга и облачным межсетевым экраном. Не отключайте брандмауэр ради теста и не открывайте порт публично без назначения.
  2. Если nft не установлен, смотрите реальный способ управления firewall
    Linux · Терминал (Bash)КомандаНужен sudo
    Если nft не установлен, смотрите реальный способ управления firewall.
    ip -br address
    ip route
    sudo nft list ruleset
  1. 7. Измените найденную причину и проверьте конечную функциюИсправляйте только доказанный параметр приложения, обратного прокси или зависимости, после штатной проверки синтаксиса. Запланированный перезапуск затрагивает пользователей, поэтому не выполняйте его без необходимости. Повторите локальный и внешний запросы и убедитесь, что приложение возвращает нужные данные, а не только HTTP-статус 200.
  2. Итоговые команды диагностические, не меняют работающие процессы
    Linux · Терминал (Bash)КомандаНужен sudo
    Итоговые команды диагностические, не меняют работающие процессы.
    systemctl status ИМЯ.service --no-pager
    sudo ss -ltnp

#Проверка результата и действия при неуспехе

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

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.