Apache Linux

Apache: (98)Address already in use: could not bind to address 0.0.0.0:80

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

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

Порт 80 занят другим процессом (nginx, другой Apache). Найдите процесс через ss -ltnp и остановите или измените порт Listen.

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

#Что означает ошибка

Сообщение
Address already in use

Порт 80 занят другим процессом (nginx, другой Apache). Найдите процесс через ss -ltnp и остановите или измените порт Listen.

#Причины и признаки

Возможная причинаКак узнатьЧто делать
Занят другой службойНе запускается. Сопоставьте запись в журнале службы со временем ошибки и проверьте, не занят ли требуемый порт другим процессом.Остановите.
Дубль ListenПрочитайте относящуюся к этому компоненту запись в журнале до изменения конфигурации.Удалите. Перед этим сохраните настройки и локальные данные, которые могут быть потеряны.
Остался процессПрочитайте относящуюся к этому компоненту запись в журнале до изменения конфигурации.Завершите.
Другой портСопоставьте запись в журнале службы со временем ошибки и проверьте, не занят ли требуемый порт другим процессом.Измените Listen.

#Пошаговое решение

  1. Найдите процессОткройте SSH-терминал на сервере и выполните sudo ss -ltnp | grep ":80" (при необходимости проверьте 443). Запишите PID, имя процесса и адрес прослушивания. Если порт занят Nginx в штатной схеме reverse proxy, его нельзя просто остановить: Apache может использовать внутренний порт.
  2. Остановите конфликтПроверьте systemctl status apache2 nginx либо httpd nginx и конфигурацию панели хостинга, чтобы понять, какой сервер должен занимать порт. Если ошибку вызвал второй случайно запущенный Apache, остановите только лишний экземпляр по согласованной процедуре, не выполняя kill -9 неизвестного PID.
  3. Запустите ApacheВ конфигурации Apache проверьте Listen/VirtualHost, затем sudo apachectl configtest. Если адрес 0.0.0.0:80 уже занят, исправьте архитектуру слушающих портов или дубликат Listen, после чего запустите только нужную службу и проверьте её статус.
  4. Проверьте альтернативу: другой портЕсли требуется альтернативный порт для backend Apache, измените Listen и конфигурацию обратного прокси согласованно, сохранив файлы для отката. После исправления проверьте доступ к сайту через обычный внешний URL, а не только факт запуска Apache; не открывайте backend-порт всем без необходимости.
  5. Поиск процесса на порту 80
    Linux · Терминал (Bash)КомандаНужен sudo
    Поиск процесса на порту 80.
    sudo ss -ltnp | grep :80

#Проверка результата

Для «Apache: (98)Address already in use: could not bind to address 0.0.0.0:80» выполните штатную проверку конфигурации, затем один контрольный запрос к сервису. Сверьте его результат с журналом и убедитесь, что пользователи не получили новых ответов 4xx или 5xx после изменения.

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

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

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