Перенос веб-сайта из IIS 6.0 в IIS 7 или более поздней версии

Вера А

Это краткое руководство поможет перенести веб-сайт из IIS 6.0 в IIS 7 или более поздней версии с помощью средства веб-развертывания.

Какие типы миграций можно выполнить с помощью средства веб-развертывания?

  • Перенос 1 или 1000 веб-сайтов из IIS 6.0 в IIS 7 или более поздней версии, включая все параметры конфигурации, содержимое и сертификаты
  • Перенос одного приложения
  • Перенос всего сервера (все веб-сайты, пулы приложений и т. д.) из IIS 6.0 в IIS 7 или более поздней версии
  • Перенос пользовательского манифеста, состоящего из сайтов, пулов приложений, сборок, COM-объектов, разделов реестра, содержимого и т. д. из IIS 6.0 в IIS 7 или более поздней версии.

Необходимые условия

Для этого руководства требуются следующие предварительные требования:

  • .NET Framework 2.0 SP1 или выше
  • Средство веб-развертывания 1.1

Примечание: Если средство веб-развертывания еще не установлено, см. Средство веб-развертывания: Установка и настройка.

Часть 1. Просмотр зависимостей сайта

  1. Получите зависимости веб-сайта, выполнив следующую команду:

    msdeploy -verb:getDependencies -source:metakey=lm/w3svc/1
    
  2. Просмотрите выходные данные зависимостей и найдите все карты скриптов или установленные компоненты, используемые сайтом. Например, если на веб-сайте используется аутентификация Windows, вы увидите <имя зависимости="WindowsAuthentication" />.

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

  4. Скомпилируйте список компонентов, необходимых для назначения.

Подробные инструкции по анализу выходных данных getDependencies см. в разделе .

Часть 2. Настройка целевого объекта

Просмотрите список зависимостей и установите их на целевом сервере.

Например, предположим, что для веб-сайта используется следующее:

  • ASP.NET
  • Проверка подлинности Windows
  • Анонимная проверка подлинности

На основе этого анализа зависимостей необходимо установить соответствующие компоненты и модули.

Часть 3. Перенос сайта на целевой объект с помощью файла пакета

  1. Всегда создайте резервную копию целевого сервера. Даже если вы просто тестируете, это позволяет легко восстановить состояние сервера.

    %windir%\system32\inetsrv\appcmd add backup "PreWebDeploy"
    
  2. Выполните следующую команду на исходном сервере, чтобы создать файл пакета (сжатый) сервера:

    msdeploy -verb:sync  -source:metakey=lm/w3svc/1 -dest:package=c:\Site1.zip > WebDeployPackage.log
    
  3. Скопируйте файл пакета на целевой сервер.

  4. Выполните следующую команду на целевом сервере, чтобы проверить, что произойдет при выполнении операции синхронизации :

    msdeploy -verb:sync -source:package=c:\Site1.zip -dest:metakey=lm/w3svc/1 -whatif > WebDeploySync.log
    
  5. После проверки выходных данных снова выполните ту же команду без флага Whatif:

    msdeploy -verb:sync -source:package=c:\Site1.zip -dest:metakey=lm/w3svc/1 > WebDeploySync.log
    

{Необязательно. Перенос сайта в целевой объект с помощью службы агента веб-развертывания}

Если вы не хотите использовать пакет, можно использовать службу агента веб-развертывания (MsDepSvc, которая также называется удаленной службой) для синхронизации с IIS 6.0 и IIS 7 или более поздней версии.

  1. Установите удаленную службу либо на источник, либо на назначение в зависимости от того, нужно ли синхронизировать данные с удаленного источника или на удаленное назначение.

  2. Запустите службу на компьютере.

    net start msdepsvc
    
  3. Выполните следующую команду, чтобы выполнить синхронизацию push-уведомлений из локального источника в удаленное место назначения (замените Server1 именем удаленного компьютера). Сначала выполните команду с флагом Whatif, а затем без него после подтверждения того, что команда сделает то, что вы хотите.

    msdeploy -verb:sync -source:metakey=lm/w3svc/1 -dest:metakey=lm/w3svc/1,computername=Server1 -whatif > msdeploysync.log
    
  4. Кроме того, выполните следующую команду для выполнения "pull" синхронизации из удаленного источника в локальное назначение (замените Server1 именем удаленного компьютера). Сначала выполните команду с флагом Whatif, а затем без него после подтверждения того, что команда сделает то, что вы хотите.

    msdeploy -verb:sync -source:metakey=lm/w3svc/1,computername=Server1 -dest:metakey=lm/w3svc/1 -whatif > msdeploysync.log
    

Теперь вы выполнили миграцию сайта. Чтобы проверить, проверьте просмотр веб-сайта на целевом сервере. Сведения об устранении неполадок см. в разделе в Интернете".

Сводка

Теперь веб-сайт синхронизируется с исходного сервера IIS 6.0 с конечным сервером IIS 7 или выше, просматривая зависимости, настраивая целевой сервер IIS и используя файл пакета или службу агента веб-развертывания.