Синхронизация IIS

Вера А

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

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

  • Отправка данных (синхронизация из локального источника в удаленное назначение)
  • Пулл (синхронизация из удаленного источника в локальную систему)
  • Независимая синхронизация (инициируйте синхронизацию с компьютера, где и назначение, и источник являются удаленными)
  • Локальная синхронизация вручную (создайте файл пакета источника и скопируйте его в место назначения, а затем запустите его локально)

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

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

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

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

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

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

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

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

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

Для получения подробной информации об анализе выхода getDependencies см. раздел .

Часть 2. Настройка целевого объекта (назначения)

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

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

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

Часть 3. Синхронизация сайта с целевым объектом

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

    %windir%\system32\inetsrv\appcmd add backup "PreMsDeploy"
    
  2. Установите службу удаленного агента в источнике или назначении в зависимости от того, нужно ли "извлечь" данные из удаленного источника или отправить данные в удаленное место назначения.

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

    net start msdepsvc
    
  4. Выполните следующую команду, чтобы проверить, что произойдет при выполнении синхронизации. Флаг -whatif не будет отображать каждое изменение; он просто покажет оптимистический вариант того, что может измениться, если успех будет достигнут (например, он не выявит ошибок, когда вы не можете записать в конечную точку).

    • Отправка в удаленное место назначения, запущенная на исходном компьютере (аргумент computerName определяет удаленный конечный компьютер).

      msdeploy -verb:sync -source:apphostconfig="Default Web Site" -dest:apphostconfig="Default Web Site",computername=Server1 -whatif > msdeploysync.log
      
    • Извлечение из удаленного источника, работающее на целевом компьютере (аргумент computerName определяет удаленный исходный компьютер).

      msdeploy -verb:sync -source:apphostconfig="Default Web Site",computername=Server1 -dest:apphostconfig="Default Web Site" -whatif > msdeploysync.log
      
  5. После проверки выходных данных выполните ту же команду еще раз без флага -whatif :

    • Отправка на удаленный пункт назначения, выполняемая на исходной машине.

      msdeploy -verb:sync -source:apphostconfig="Default Web Site" -dest:apphostconfig="Default Web Site",computername=Server1 > msdeploysync.log
      
    • Извлечение из удаленного источника, процедура осуществляется на целевом компьютере

      msdeploy -verb:sync -source:apphostconfig="Default Web Site",computername=Server1 -dest:apphostconfig="Default Web Site" > msdeploysync.log
      

{Необязательно. Синхронизация сайта с целевым объектом с помощью файла пакета}

Если вы не хотите использовать удаленную службу, вместо этого можно использовать пакет (сжатый файл).

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

    msdeploy -verb:sync  -source:apphostconfig="Default Web Site" -dest:package=c:\site1.zip
    
  2. Скопируйте файл пакета на целевой сервер.

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

    msdeploy -verb:sync -source:package=c:\site1.zip -dest:apphostconfig="Default Web Site" -whatif > msdeploysync.log
    
  4. После проверки выходных данных выполните ту же команду еще раз без флага -whatif:

    msdeploy -verb:sync -source:package=c:\site1.zip -dest:apphostconfig="Default Web Site" > msdeploysync.log
    

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

Сводка

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