Поделиться через


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

Вера А

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

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

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

Необходимые компоненты

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

  • платформа .NET Framework 2.0 с пакетом обновления 1 (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 и синхронизацию.