Event ID 5004 WAS: сбой запуска рабочего процесса пула приложений IIS
Симптомы сбоя старта пула IIS (Event ID 5004)
В журнале System фиксируется ошибка: Event ID 5004: A worker process serving application pool '[Имя_пула]' failed to start. The data field contains the error number. Пул приложений мгновенно останавливается сразу после попытки запуска.
| Симптом | Причина |
|---|---|
| Ошибка 503 Service Unavailable | Сайт не открывается, пул приложений в IIS находится в статусе «Остановлен» |
| Мгновенная остановка пула | При нажатии кнопки «Запуск» пул останавливается через 1 секунду |
| Ошибки входа Logon Failure | Неверный пароль сервисной доменной учетной записи пула |
Пошаговое решение ошибки запуска пула (Event ID 5004)
- Проверьте пароль удостоверения пула приложений (AppPool Identity): если для пула используется доменная или локальная учетная запись, смените пароль на актуальный:
# Установка стандартного безопасного встроенного удостоверения ApplicationPoolIdentity:
& "$env:SystemRoot\System32\inetsrv\appcmd.exe" set apppool /apppool.name:"ИмяПула" /processModel.identityType:ApplicationPoolIdentity- Предоставьте право «Вход в качестве пакетного задания» (Logon as a batch job): если используется кастомная учетная запись:
Откройте secpol.msc > Локальные политики > Назначение прав пользователя > Вход в качестве пакетного задания > Добавьте пользователя или группу IIS_IUSRS.
- Проверьте права доступа к временной папке ASP.NET:
# Выдача прав для группы IIS_IUSRS на временный каталог компиляции:
icacls "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files" /grant "IIS_IUSRS:(OI)(CI)M" /T
icacls "C:\inetpub\temp\appPools" /grant "IIS_IUSRS:(OI)(CI)M" /T- Запустите пул приложений заново:
# Запуск пула приложений через appcmd:
& "$env:SystemRoot\System32\inetsrv\appcmd.exe" start apppool /apppool.name:"ИмяПула"Внимание: Если для пула включен параметр «Разрешить 32-разрядные приложения» (Enable 32-Bit Applications), убедитесь, что на сервере установлены соответствующие 32-битные библиотеки и модули.
Частые вопросы (FAQ)
Почему пул приложений сам переходит в статус 'Остановлен' (Stopped)?
Срабатывает защита от быстрого сбоя (Rapid-Fail Protection). Если процесс w3wp.exe падает 5 раз в течение 5 минут, IIS принудительно выключает пул для защиты ресурсов сервера.
Какую учетную запись безопаснее всего использовать для пулов приложений?
Рекомендуется использовать встроенную виртуальную учетную запись ApplicationPoolIdentity — она не требует ввода паролей и автоматически управляет правами доступа.
Как сбросить счетчик защиты Rapid-Fail Protection?
В дополнительных параметрах пула в разделе 'Защита от быстрого сбоя' установите параметр 'Включено' в значение False для тестирования.
Где посмотреть код внутренней ошибки при сбое 5004?
В теле события 5004 перейдите на вкладку 'Details' в формат XML и посмотрите шестнадцатеричный код в поле BinaryData.