Назад | Перейти на главную страницу

Windows Server 2012 R2 переносит все сайты IIS на Windows Server 2019

Я хочу задать вам предложение о том, как продолжить миграцию всего IIS (версия 8.5) в Windows Server 2012 R2 на IIS (версия 10) на Windows Server 2019. Мне нужна почти автоматическая процедура, потому что у нас более 500 сайтов на этом сервере.

Это спецификация почти для каждого веб-сайта:

  1. Папка, содержащая весь веб-сайт, который я могу легко воспроизвести на новом сервере. В каждой папке присутствует web.config, содержащий строку подключения к базе данных (я могу легко изменить ее, используя скрипт python для всех папок в корне веб-сайтов);

  2. Конфигурация IIS и веб-сайты, к которым я могу легко получить доступ через сценарий Power Shell, например:

Import-Module Webadministration
$sites = Get-ChildItem -Path IIS:\Sites
foreach($element in $sites){
    $element
}

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

На этом я немного застрял, потому что не могу понять, как действовать разумно. В идеале мне нужно, чтобы для каждого веб-сайта я экспортирую конфигурацию, создаю веб-сайт в целевом IIS, обновляю справочную папку веб-сайта до местоположения на новом сервере вместе с привязкой (мне нужно изменить домен) и запустить сайт (в случае ошибки какое-то предупреждение для ручного осмотра). Есть ли у вас какие-либо предложения, как продолжить и сделать этот процесс максимально автоматическим? Также будут очень признательны некоторые ссылки на скрипты.

Использование модуля WebAdministration безопасно, но также медленно.

Пока ваш целевой сервер еще не запущен, и вы можете поиграть с ним, я бы напрямую отредактировал C:\Windows\System32\inetsrv\config\ApplicationHost.config файл.

Скопируйте <sites> узел из файла конфигурации на старом сервере в файл конфигурации на новом сервере.

Также скопируйте любой <location ...> примечания, обычно в конце файла.

IIS 8.5 и IIS 10 очень похожи, и это должно работать. Всегда делайте резервную копию изменяемого файла.

Затем вы можете просто использовать поиск и замену в файле конфигурации, чтобы изменить физическое расположение или привязки.