Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

Windows Server, AD и Роли

Не запускается служба IIS: порт 80 занят — как найти процесс через netstat

Обновлено: 27.08.2026 · Официальная документация ↗

Почему веб-сервер IIS не может запуститься?

При попытке запустить веб-сайт или службу World Wide Web Publishing Service (W3SVC) в диспетчере служб IIS администратор сталкивается с ошибкой:

Не удается запустить веб-сайт. Процесс не может получить доступ к файлу, так как этот файл занят другим процессом (The process cannot access the file because it is being used by another process. Exception from HRESULT: 0x80070020).

Симптомы сбоя:

  • Веб-сайт в консоли inetmgr имеет статус Остановлен.
  • Код ошибки в журнале событий: 0x80070020.
  • Стандартный порт HTTP (80) или HTTPS (443) уже занят сторонним приложением.

Кто чаще всего занимает порт 80 в Windows: Служба отчетов SQL Server Reporting Services (SSRS), Skype, служба публикации веб-развертывания (Web Deployment Service), BranchCache или сторонний сервер Apache/Nginx (XAMPP/OpenServer).

Шаг 1. Находим номер процесса (PID), занявшего порт 80

Откройте Командную строку от имени администратора и выполните команду:

netstat -ano | findstr ":80"

Пример вывода:

  TCP    0.0.0.0:80            0.0.0.0:0              LISTENING       4128
  TCP    [::]:80               [::]:0                 LISTENING       4128

Последнее число в строке — это идентификатор процесса PID (в нашем примере: 4128).

Шаг 2. Узнаем имя программы по ее PID

Выполните команду получения имени приложения по найденному номеру PID:

tasklist /fi "pid eq 4128"

Команда выведет имя программы (например, ReportingServicesService.exe, skype.exe или httpd.exe).

Шаг 3. Освобождаем порт для IIS

Случай А: Порт занят процессом SYSTEM (PID 4)

Если порт 80 слушает системный процесс PID 4 (драйвер http.sys), значит, порт держит другая служба Windows. Отключите службы веб-развертывания и отчетов:

# Остановка службы Web Deploy:
net stop MsDepSvc

# Остановка SQL Server Reporting Services:
net stop ReportServer

# Остановка службы публикации узлов BranchCache:
net stop PeerDistSvc

Случай Б: Запуск веб-сайта IIS на другом порту

Если конфликтующую программу нельзя отключить, измените привязку порта в самом IIS:

  1. Откройте Диспетчер служб IIS (inetmgr).
  2. В левом дереве выберите ваш сайт -> в правой панели нажмите Привязки (Bindings).
  3. Выберите строку http 80 -> нажмите Изменить -> укажите порт 8080 -> нажмите ОК.
  4. Запустите сайт!
💡 Практика специалистов: Чтобы точно узнать, какой конкретно URL зарезервирован драйвером http.sys внутри системного процесса PID 4, выполните команду 'netsh http show servicestate' — она выведет полные имена зарегистрированных очеведей запросов.

Частые вопросы (FAQ)

Что означает код ошибки 0x80070020 в IIS?

Код 0x80070020 расшифровывается как ERROR_SHARING_VIOLATION (Нарушение общего доступа). Сетевой порт, к которому пытается привязаться IIS, уже монопольно заблокирован другим приложением.

Как принудительно завершить зависший процесс, занявший порт?

Выполните команду принудительного закрытия: taskkill /F /PID 4128 (замените 4128 на ваш реальный номер процесса).

Как посмотреть полный список всех занятых портов на сервере в реальном времени?

Используйте встроенную команду: Get-NetTCPConnection -State Listen | Select-Object LocalAddress, LocalPort, OwningProcess | Sort-Object LocalPort.

Может ли антивирус блокировать запуск сайта на порту 80?

Да, некоторые антивирусные экраны (Web Antivirus) перехватывают 80 порт для фильтрации трафика. Попробуйте временно отключить веб-защиту в настройках антивируса.

Полезные материалы
Рекомендуем