IIS 8.5 Менеджер: отсутствуют узлы пулов приложений и сайтов

Вопрос или проблема

Я столкнулся с странной проблемой, которую не смог решить и не нашел информации: узлы Пулы приложений и Сайты в IIS Manager нашего IIS 8.5 исчезли!

введите описание изображения здесь

Это один из четырех серверов с очень похожей настройкой, но это единственный с Windows Server 2012 R2 и IIS 8.5: у нас есть стандартные пулы приложений плюс один для нашего приложения, и наш сайт и веб-приложение, которое использует наш пул приложений. Все работало хорошо до воскресенья, 1 июня 2014 года, когда мы получили сообщение об ошибке от нашей службы мониторинга о том, что наше приложение недоступно на этом сервере.

Мы обнаружили следующие записи в журнале событий:

[20:44:24] Рабочий процесс '27520', обслуживающий пул приложений 'camping.info', не удалось остановить канал слушателя для протокола 'http' в отведенное время. Поле данных содержит номер ошибки.
[20:44:24] Процесс, обслуживающий пул приложений 'camping.info', превысил ограничения времени во время завершения работы. Идентификатор процесса был '27520'.
[20:45:54] Рабочий процесс '40744', обслуживающий пул приложений 'camping.info', не удалось остановить канал слушателя для протокола 'http' в отведенное время. Поле данных содержит номер ошибки.
[20:45:54] Процесс, обслуживающий пул приложений 'camping.info', превысил ограничения времени во время завершения работы. Идентификатор процесса был '40744'.
[20:45:54] Пул приложений 'camping.info' автоматически отключается из-за серии сбоев в процессе(ах), обслуживающем этот пул приложений.

Когда мы подключились к серверу по RDP и заглянули в IIS Manager, узлы Пулы приложений и Сайты больше не отображались. Вместо этого журнал событий был полон ошибок, подобных следующим (в результате попытки открыть Узел сервера ниже Стартовая страница):

IISMANAGER_ERROR_LOADING_PROVIDER_TYPE

IIS Manager не удалось загрузить тип 'Microsoft.Web.Management.AspNet.SessionState.SessionStateModuleProvider, Microsoft.Web.Management.Aspnet, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' для модуля-поставщика 'SessionState', который объявлен в %windir%\system32\inetsrv\config\administration.config. Убедитесь, что тип верный и сборка, содержащая модуль-поставщик, находится в кэше глобальных сборок (GAC).

Исключение:System.IO.FileNotFoundException: Не удалось загрузить файл или сборку 'Microsoft.Web.Management.Aspnet, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' или одну из ее зависимостей. Система не может найти указанный файл.
Имя файла: 'Microsoft.Web.Management.Aspnet, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
   в System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMarkHandle stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName, ObjectHandleOnStack type)
   в System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName)
   в System.Type.GetType(String typeName, Boolean throwOnError)
   в Microsoft.Web.Management.Server.AdministrationModuleProvider.GetModuleProvider(String userName, String connectionName)

После нескольких попыток восстановить рабочую конфигурацию iis (C:\Windows\System32\inetsrv\Config\applicationhost.config) мы даже полностью удалили IIS и переустановили его (с некоторыми трудностями), но безрезультатно. Ища недостающие dll на диске, мы обнаружили, что их версии были на самом деле 8.5.. Поэтому мы заменили все вхождения 8.0.0.0 на 8.5.0.0 в C:\Windows\System32\inetsrv\Config\administration.config, но ошибки остались (по-прежнему упоминали 8.0.0.0!).

Интересно, что наше приложение снова работает на сервере – просто мы не можем его видеть в IIS Manager. Мы хотели бы иметь возможность управлять им через графический интерфейс и избавиться от этих ошибок в журнале событий.

Есть желающие помочь?

Наконец, я решил эту проблему для своей ситуации:

У меня, похоже, был поврежден файл applicationhost.config, возможно, из-за msdeploy и/или Visual Studio 2012. Хотя он выглядел нормально. Но после тщательного сравнения я заметил, что он помещает (сайты) (/sites) не на то место, и дерево в IIS Manager не отображалось.
Перемещение секции сайтов обратно на место решило проблему. (прямо после секции (/log))

В остальном MSdeploy работал нормально, просто испортил вид сайта в IIS Manager.

Это случилось только на серверах, где сайты были развернуты через VS2012 и msdeploy с 2012R2, работающим на IIS8.5

Когда вы деинсталлировали IIS, вы удалили все в C:\Windows\System32\inetsrv? Если нет, то сломанные вещи могли остаться там.

Не уверен, если это так в данном случае, но для похожей ситуации, с которой я столкнулся на наших системах, это было просто несовпадение версий.

т.е. Сервер, изначально создающий общую конфигурацию, был Server 2012 с IIS 8.0, но сервер, пытающийся получить доступ к ней и проявляющий упомянутые симптомы, был Server 2012 R2 с IIS 8.5.

Посмотрите в журнал событий после загрузки IIS Manager, и вы должны увидеть много ошибок, указывающих, что это проблема с недостающим модулем, вероятно, связанной с версионностью.

В моем случае я работал над настройкой нового сервера Windows 2019, чтобы заменить свой сервер Windows 2012 R2. Я начал устанавливать все функции и роли для веб-служб и вернулся к серверу позже. Я предположил, что веб-службы были полностью установлены.

У меня была копия резервной конфигурации с старого сервера (Backup-WebConfiguration -Name [backupname], скопирована с c:\windows\system32\inetsrv\backup\ в каталог резервных копий нового сервера, затем выполнена команда Restore-WebConfiguration -Name [backupname].)

Однако IIS не был полностью установлен, так как перезагрузка была ожидающей, поэтому я перезагрузил серверы и убедился, что все функции и роли установлены. Когда я открыл IIS, секция Сайты не отображалась. Заглянув в журналы приложений Windows, я нашел много ошибок “IISMANAGER_ERROR_LOADING_PROVIDER_TYPE”.

Конкретные типы, которые были в беспокойстве, все начинались с “Microsoft.Web.Management.” и имели версию 8.5. Ссылка на тип находилась в файле c:\windows\system32\inetsrv\config\application.config.

Это заставило меня вспомнить, что Win 2012R2 использует версию IIS 8.5, а Windows 2019 использует версию IIS 10.0.

Я вошел в файл application.config и выполнил поиск и замену 8.5, заменив ее на 10.0.

После сброса IIS мой IIS Manager снова стал отображать Пулы приложений и Сайты и все другие функции, которые я ожидал увидеть.

Я увидел еще несколько ошибок типа в журнале приложений, но это было связано с тем, что я еще не установил модуль/дополнение IIS на новом сервере.

Также я выполнил сравнение версий модулей в рабочем файле application.config Windows Server 2019 и смог удостовериться, что версии одинаковы на обоих серверах. Были некоторые типы Microsoft.Web.Management, которые были для версии 7.0.0.0, также.

Попробуйте переустановить IIS из компонентов Windows (Панель управления –> Программы и компоненты).

Для моего решения я смог вручную воссоздать директорию, добавить сайт с тем же именем.
(виртуальная директория в этом случае, затем я преобразовал его в приложение)

После этого я изменил пул приложений на тот, который был “заединившимся”

На этом этапе он показывал только 1 ассоциированное приложение, а не два.
Я удалил приложение с сервера, и оно также удалилось из пула приложений.

Ответ или решение

Проблема: Отсутствие узлов "Пулы приложений" и "Сайты" в IIS 8.5

Если вы столкнулись с ситуацией, когда в IIS Manager отсутствуют узлы "Пулы приложений" и "Сайты", как это произошло на вашем сервере с Windows Server 2012 R2 и IIS 8.5, необходимо провести систематическое обследование причины проблемы и её решения. Проблема может быть связана как с настройками самого IIS, так и с некорректной конфигурацией файлов.

Основные симптомы

  1. Отсутствие узлов: При попытке открыть IIS Manager вы не видите узлы "Пулы приложений" и "Сайты".
  2. Ошибки в журнале:
    • Ошибка IISMANAGER_ERROR_LOADING_PROVIDER_TYPE.
    • Указание на отсутствующие версии сборок, например, Microsoft.Web.Management.Aspnet, Version=8.0.0.0.

Эти ошибки могут свидетельствовать о наличии конфликта версий компонентов или повреждении конфигурационных файлов.

Возможные причины

  1. Конфликтующие версии: Если ваш сервер использует IIS 8.5, но конфигурационные файлы ссылаются на сборки версии 8.0.0.0, это может вызвать конфликт.
  2. Повреждение конфигурационных файлов: Конфигурация IIS может быть повреждена, что могло произойти, например, из-за неправильных изменений при использовании msdeploy или других инструментов.

Решения

Вот несколько шагов, которые могут помочь в восстановлении функциональности IIS Manager:

  1. Проверка конфигурационных файлов:

    • Сравните файл applicationhost.config, находящийся в C:\Windows\System32\inetsrv\Config\, с резервной копией, чтобы убедиться, что узлы "Сайты" и "Пулы приложений" находятся в правильных секциях.
    • Убедитесь, что секция </sites> находится сразу после </logs>.
  2. Переустановка IIS:

    • Если вы переустанавливали IIS, убедитесь, что все компоненты были удалены, включая содержимое C:\Windows\System32\inetsrv. Возможно, потребуется ручное удаление некоторых файлов.
  3. Обновление и правка конфигурационных файлов:

    • Обновите все упоминания о версиях 8.0.0.0 до 8.5.0.0, но будьте осторожны, изменения в administration.config могут не решить проблему, если нет соответствующих сборок.
    • Если имеете доступ к исправным системам, сравните версии компонентов, чтобы убедиться в их согласованности.
  4. Загрузка необходимых модулей:

    • Если ставились дополнительные модули, убедитесь, что они установлены и соответствуют версии вашего IIS. Например, проверьте, все ли необходимые функции IIS установлены через Панель управления.
  5. Переустановка компонентов IIS:

    • Используйте "Установка Windows" через Панель управления (Control Panel → Programs and Features) для удаления и последующей переустановки всех компонентов IIS. Убедитесь, что после переустановки система перезагружена.

Вывод

Проблема отсутствия узлов "Пулы приложений" и "Сайты" в IIS Manager может быть вызвана множеством факторов, включая конфликты версий и поврежденные конфигурационные файлы. Следует провести тщательное обследование конфигурации и, при необходимости, выполнить переустановку компонентов IIS. В случае повторяющихся проблем возможно потребуется обратиться к документации Microsoft или к технической поддержке для дальнейшей помощи.

Оцените материал
Добавить комментарий

Капча загружается...