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


Синхронизация веб-сайтов IIS 6.0

от Фейт А

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

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

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

Предварительные требования

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

  • платформа .NET Framework 2.0 с пакетом обновления 1 (SP1) или более поздней версии
  • Средство веб-развертывания 1,1

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

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

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

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

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

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

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

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

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

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

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

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

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

    iisback /backup /b PreWebDeploy
    
  2. Установите удаленную службу в источнике или назначении в зависимости от того, хотите ли вы "извлечь" данные из удаленного источника или "отправить" данные в удаленное место назначения.

  3. Запустите службу на сервере.

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

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

      msdeploy -verb:sync -source:metakey=lm/w3svc/1 -dest:metakey=lm/w3svc/1,computername=Server1 -whatif > msdeploysync.log
      
    • Извлечение из удаленного источника, запущенного на конечном компьютере (аргумент computerName определяет удаленный компьютер-источник).

      msdeploy -verb:sync -source:metakey=lm/w3svc/1,computername=Server1 -dest:metakey=lm/w3svc/1 -whatif > msdeploysync.log
      
  5. После проверки выходных данных снова выполните ту же команду без флага -whatif :

    • Отправка в удаленное назначение, запущенное на исходном компьютере

      msdeploy -verb:sync -source:metakey=lm/w3svc/1 -dest:metakey=lm/w3svc/1,computername=Server1 > msdeploysync.log
      
    • Извлечение из удаленного источника, работающего на конечном компьютере

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

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

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

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

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

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

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

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

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

Итоги

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