Я хочу задать вам предложение о том, как продолжить миграцию всего IIS (версия 8.5) в Windows Server 2012 R2 на IIS (версия 10) на Windows Server 2019. Мне нужна почти автоматическая процедура, потому что у нас более 500 сайтов на этом сервере.
Это спецификация почти для каждого веб-сайта:
Папка, содержащая весь веб-сайт, который я могу легко воспроизвести на новом сервере. В каждой папке присутствует web.config, содержащий строку подключения к базе данных (я могу легко изменить ее, используя скрипт python для всех папок в корне веб-сайтов);
Конфигурация 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 очень похожи, и это должно работать. Всегда делайте резервную копию изменяемого файла.
Затем вы можете просто использовать поиск и замену в файле конфигурации, чтобы изменить физическое расположение или привязки.