Синхронизация веб-сайтов IIS 6.0
от Фейт А
В этом кратком руководстве описан процесс использования средства веб-развертывания для синхронизации веб-сайта на исходном компьютере IIS 6.0 с конечным компьютером IIS 6.0. Это можно сделать путем отправки данных в удаленное место назначения или путем извлечения данных из удаленного источника. В этом руководстве показаны оба метода, а также вариант использования файла пакета, чтобы не устанавливать службу веб-Deployment Agent (MsDepSvc или "служба удаленного агента").
Какие способы синхронизации можно синхронизировать с помощью средства веб-развертывания?
- Отправка (синхронизация из локального источника в удаленное назначение)
- Извлечение (синхронизация из удаленного источника в локальное назначение)
- Независимая синхронизация (запуск синхронизации с компьютера, где и назначение, и источник являются удаленными)
- Локальная синхронизация вручную (создайте файл пакета источника и скопируйте его в место назначения, а затем запустите его локально)
Предварительные требования
Для этого руководства требуются следующие предварительные требования.
- платформа .NET Framework 2.0 с пакетом обновления 1 (SP1) или более поздней версии
- Средство веб-развертывания 1,1
Примечание. Если средство веб-развертывания еще не установлено, см. .
Часть 1. Просмотр зависимостей сайта
Получите зависимости веб-сайта, выполнив следующую команду:
msdeploy -verb:getDependencies -source:metakey=lm/w3svc/1
Просмотрите выходные данные зависимостей и найдите все сопоставления скриптов или установленные компоненты, используемые сайтом. Например, если веб-сайт использует проверку подлинности Windows, вы увидите <dependency name="WindowsAuthentication" />.
Если сайт наследует какие-либо карты скриптов, они не будут перечислены в зависимостях, и вам также следует просмотреть карты скриптов для вашего сайта вручную.
Скомпилируйте список компонентов, необходимых для назначения.
Подробные инструкции по анализу выходных данных getDependencies см. в разделе Просмотр зависимостей.
Часть 2. Настройка целевого объекта (назначения)
Просмотрите список зависимостей и установите их на целевом сервере. Например, предположим, что для веб-сайта используется следующее:
- ASP.NET
- Проверка подлинности Windows
- Анонимная аутентификация
На основе этого анализа зависимостей необходимо установить соответствующие компоненты на целевом сервере перед выполнением синхронизации.
Часть 3. Синхронизация сайта с целевым объектом
Всегда создайте резервную копию целевого и исходного серверов. Даже если вы просто тестируете, это позволяет легко восстановить состояние сервера.
iisback /backup /b PreWebDeploy
Установите удаленную службу в источнике или назначении в зависимости от того, хотите ли вы "извлечь" данные из удаленного источника или "отправить" данные в удаленное место назначения.
Запустите службу на сервере.
net start msdepsvc
Выполните следующую команду, чтобы проверить, что произойдет при выполнении синхронизации. Флаг -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
После проверки выходных данных снова выполните ту же команду без флага -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
{Необязательно. Синхронизация сайта с целевым объектом с помощью файла пакета}
Если вы не хотите использовать удаленную службу, можно использовать пакет (сжатый файл).
Выполните следующую команду на целевом сервере, чтобы создать пакет источника веб-сайта:
msdeploy -verb:sync -source:metakey=lm/w3svc/1 -dest:package=c:\Site1.zip
Скопируйте файл пакета на целевой сервер.
Выполните следующую команду на целевом сервере, чтобы проверить, что произойдет при выполнении синхронизации:
msdeploy -verb:sync -source:package=c:\Site1.zip -dest:metakey=lm/w3svc/1 -whatif > msdeploysync.log
После проверки выходных данных снова выполните ту же команду без флага 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 или файл пакета.