Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Общие сведения
Веб-развертывание — это средство для упрощения миграции, управления и развертывания веб-приложений, сайтов и серверов. Его можно использовать для упаковки веб-сайта, автоматически включая содержимое, конфигурацию, сертификаты и базы данных. Его можно использовать для синхронизации между СЛУЖБАми IIS 6.0 или IIS 7.0 или для миграции с IIS 6.0 на IIS 7.0. Созданные пакеты можно использовать для управления версиями, резервного копирования или развертывания.
Обратите внимание, что службы IIS 8.0 поддерживаются только с веб-развертыванием версии 3.
Компоненты
Веб-развертывание включает следующие ключевые функции:
Упаковка веб-сайтов и приложений. Разработчики или администраторы могут упаковыть конфигурацию и содержимое установленных веб-приложений, включая базы данных SQL, и использовать пакеты для хранения или повторного развертывания. Затем эти пакеты можно развернуть с помощью интерфейса диспетчера IIS, не требуя прав администратора на удаленном сервере.
Делегируйте задачи развертывания неадминистраторам. Теперь администраторы сервера могут делегировать задачи развертывания пользователям, которые не являются администраторами. Например, как в общих средах размещения, так и в корпоративных средах можно делегировать развертывание содержимого и пометить папку как приложение. Также можно включить более сложные задачи, подходящие для выделенной среды, такие как разрешение развертывания сертификата, веб-сайта или сборки GAC.
Упрощение развертывания для администраторов. Администраторы сервера считают делегирование полезным, так как развертывание веб-приложения, включая сборку GAC, сертификат и пул приложений, может занять много времени даже при всех необходимых разрешениях.
Миграция с IIS 6.0. Операция миграции предоставляет администраторам способ переноса сайтов или целых серверов из IIS 6.0 в IIS 7.0, включая их параметры и содержимое. По сути, миграция — это способ синхронизации, отфильтрованный правилами миграции.
Синхронизация IIS 6.0 и IIS 7.0. Операция синхронизации позволяет администраторам быстро синхронизировать сайт или сервер и развертывать изменения на существующих сайтах и серверах. Синхронизация позволяет синхронизировать один источник с одним назначением. Например, можно синхронизировать два пути к каталогам или два веб-сервера. Синхронизацию можно выполнить с локальными или удаленными объектами.
Моментальный снимок IIS 6.0 или IIS 7.0. Функция snapshot или архива позволяет администраторам или разработчикам быстро получить архив своего веб-сайта или сервера для отката, восстановления или резервного копирования.
Анализ зависимостей от IIS 6.0 или IIS 7.0. Операция анализа позволяет администраторам проверка, какие компоненты установлены на исходном сервере. Таким образом, они могут определить, существуют ли функции, которые им понадобятся в IIS 7.0 или требуют более сложной настройки, чем просто копирование файлов.
Устранение неполадок и проверка. Для проверки операции параметр -whatif позволяет администраторам видеть, какие действия будут выполняться при выполнении операции. Это особенно полезно для выполнения синхронизации или миграции, когда необходимо проверить, какие изменения будут внесены перед их выполнением. Для устранения неполадок параметр -verbose позволяет администраторам получить подробные сведения о выполняемых операциях, а в случае сбоя — возможность диагностировать проблему.
Разностная синхронизация. Средство будет синхронизировать только изменения между источником и назначением.
Замечания по установке
Требования
Для установки средства необходимо выполнить следующие предварительные требования:
- Необходимо установить .NET 2.0 с пакетом обновления 1 (SP1) или более поздней версии.
Скачивание и установка
Существует два отдельных загружаемых пакета для этого средства; Вам потребуется скачать соответствующий пакет:
https://www.iis.net/download/WebDeploy
Вам потребуется запустить пакет установки от имени администратора. Это можно сделать одним из следующих способов:
- Войдите на сервер с помощью фактической учетной записи с именем "Администратор".
- Войдите в систему с помощью учетной записи с правами администратора и откройте командную строку, щелкнув правой кнопкой мыши пункт меню Командной строки , расположенный в меню Стандартные для программ Windows, и выбрав "Запуск от имени администратора", а затем введите соответствующую команду, указанную ниже для вашей версии Windows, чтобы запустить установку:
msiexec /I <path_to_msi>
msiexec /I <path_to_msi>
Важное примечание! По умолчанию программа установки предложит вам установить удаленную службу и будет использовать URL-адрес удаленной службы по умолчанию. http://+:80/MSDEPLOY.
Url-адрес удаленной службы можно задать в качестве пользовательского URL-адреса, запустив программу установки из командной строки: (где указаны порт и URL-адрес, настройте):
msiexec /i <path_to_msi> /passive ADDLOCAL=ALL LISTENURL=http://+:8080/MSDEPLOY2/
Известные проблемы
Проблема. Некоторые правила делегирования службы управления не работают после обновления веб-развертывания до версии 2.0
Если сервер IIS 7+ использует общую конфигурацию, некоторые правила делегирования с удостоверением запуска от имени, для параметра SpecificUser, перестанут работать. Это связано с тем, что установщик веб-развертывания и скрипт .\AddDelegationRules.ps1 создают учетные записи пользователей локального компьютера и задают их в качестве удостоверения запуска от имени в определенных правилах делегирования. Эти учетные записи пользователей не будут распознаны на других компьютерах, поэтому правила не будут работать в общей конфигурации.
Решения.
- Не устанавливайте веб-развертывание 2.0 с помощью установщика веб-платформы. Вместо этого установите его непосредственно из MSI и отмените выбор компонента Настройка для развертываний без прав администратора.
- Если правила делегирования уже перезаписаны, повторно создайте их вручную.
Проблема. Сайт, созданный с помощью скрипта PowerShell \SetupSite.ps1, недоступен для просмотра
Когда этот скрипт создает сайт, он пытается назначить ему номер порта от 8000 до 8200, который еще не занят. Это может быть так, что свободный порт недоступен, и в этом случае порт, назначенный этому сайту, не будет работать. Кроме того, возможно, порт, назначенный сайту, может быть заблокирован брандмауэром.
Временные решения: Вручную назначьте сайту порт, отличный от пользовательского интерфейса диспетчера IIS. Кроме того, убедитесь, что порт не заблокирован брандмауэром, например в Windows Server 2008 R2, выполните следующую команду: "netsh advfirewall firewall add rule name="MySite" dir=in action=allow protocol=TCP localport=8080", где MySite заменяется именем вашего сайта.
Проблема: Не удается выполнить публикацию на сайте, созданном с помощью SetupSiteForPublish.ps1 скрипта PowerShell или настроенной для публикации веб-развертывания с помощью параметра "Настройка публикации веб-развертывания..." Пользовательского интерфейса
Скрипт создания сайта, а также пользовательский интерфейс для настройки веб-развертывания для существующего сайта задает ДЛЯ URL-адреса публикации значение https://myserver:8172/msdeploy.axd
. Это имя компьютера обычно доступно в сети. Однако он часто недоступен из-за пределов сети, поэтому его следует заменить общедоступным DNS-именем.
Решения.
- Из скрипта: скрипт не предупреждает об этой ошибке. Замените URL-адрес правильным (как показано ниже) в созданном файле параметров.
- В пользовательском интерфейсе введите общедоступное DNS-имя в поле "Укажите URL-адрес для подключения к серверу публикации
https://myserver:8172/msdeploy.axd
", например вместо , введитеhttps://some.publicDnsName.com:8172/msdeploy.axd
Проблема. Веб-развертывание занимает 100 % времени ЦП в течение нескольких минут
Если уровень ведения журнала слишком высок, веб-развертывание будет потреблять 100 % ЦП при выполнении операции синхронизации. Это может произойти, если для уровня ведения журнала задан подробный (4) или уровень сведений (3).
Временные решения: Задайте более низкий уровень ведения журнала:
- Запуск редактора реестра
- Перейдите к HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\IIS Extensions\MSDeploy\2\WMSVCTracing и при необходимости задайте для него значение 1 или 2.
- Перезапустите службу веб-управления, открыв командную строку с повышенными привилегиями и введя "net stop wmsvc" и "net start wmsvc".
Проблема. Пользовательский интерфейс веб-развертывания в диспетчере IIS выдает ошибку "Не удается привести объект типа"
Если на конечном компьютере установлено веб-развертывание версии 1.1, а на исходном компьютере установлена версия 2, может возникнуть эта ошибка. Это несовместимость между версиями.
Решения.
- Обновление исходного компьютера до веб-развертывания версии 2
- Удаление всех версий веб-развертывания на исходном компьютере
Проблема. Веб-развертыванию не удается получить номер USN с удаленного сервера
Параметр -incremental при использовании с поставщиком dirPath возвращает номер USN, который будет использоваться в будущих синхронизациях, чтобы обеспечить добавочную синхронизацию.
Пример: msdeploy -verb:dump -source:dirpath=c:\Temp –incremental
Возвращаемый результат: c:\Temp
Сведения. Номер USN для синхронизации исходного пути "c:\Temp" — "2140379512".
Однако если источник является удаленным, номер USN не возвращается операцией. Это известное ограничение, так как веб-развертывание версии 2 не поддерживает получение номера USN с удаленного сервера.
Решение: Используйте другое средство для получения номера USN с удаленного сервера.
Проблема: Если вы синхронизируете компьютер IIS 6.0 с большим количеством сайтов (что приводит к тому, что метабаза превышает 500 МБ), средство может зависнуть и перестать отвечать на запросы.
Решение: Создайте список сайтов и синхронизируйте каждый сайт по отдельности.
Проблема: Если выполняется синхронизация с компьютера с удаленным компьютером, на котором содержимое или общая конфигурация находится на третьем отдельном компьютере (т. е. UNC), удаленный агент не сможет правильно пройти проверку подлинности.
Решение: Выполните синхронизацию вручную или используйте обработчик веб-развертывания.
Проблема: Если вы пытаетесь упаковать или архивировать папку, которая имеет какой-либо цикл (например, вы пытаетесь создать пакет внутри упаковаемой папки), средство может завершиться сбоем или зависать.
Решение: Не синхронизируйте циклизированные папки.
Проблема: Если вы синхронизируете веб-сайт с более чем 100 подкаталогами (1\2\3..\100\101), средство может зависнуть.
Решение: Не синхронизируйте структуры папок глубиной 120 подкаталогов.
Проблема: Если изменить параметры общей конфигурации (например, включить или отключить общую конфигурацию), после этого потребуется перезапустить удаленный агент.
Решение: Перезапустите агент после внесения изменений в общую конфигурацию.
Проблема: Если вы синхронизируете веб-сайт, путь к которому находится %systemdrive%\wwwroot
на целевом веб-сайте, где системный диск отличается (C: вместо D:), путь к веб-сайту будет развернут в месте назначения. Это означает, что если у вас есть общие средства конфигурации с разными системными дисками и вы полагаетесь на %systemdrive%
, чтобы обеспечить работу содержимого, вы можете нарушить работу сайта на компьютере.
Решение: Добавьте правило замены, чтобы изменить путь во время синхронизации.
Проблема: Если вы синхронизируете компьютер IIS 6.0 с большим количеством сайтов (что приводит к тому, что метабаза превышает 500 МБ), средство может зависнуть и перестать отвечать на запросы.
Решение: Создайте список сайтов и синхронизируйте каждый сайт по отдельности.
Проблема: Если вы синхронизируете папку, помеченную как приложение в IIS 6.0, с архивом или пакетом, иногда содержимое не собирается автоматически.
Решение: Вручную добавьте папки содержимого в настраиваемый манифест и синхронизируйте манифест. Дополнительные сведения о создании файлов манифеста см. в справке.
Проблема: При попытке выполнить упаковку в существующий файл пакета это может работать неправильно.
Решение: Используйте новое имя или удалите старый файл пакета перед созданием нового пакета.
Проблема: Веб-развертывание Майкрософт не перемещает физические файлы для карт скриптов и элементов, на которые ссылается список ограничений расширений веб-служб, если только эти файлы не находятся в каталогах содержимого веб-сайта. Это связано с тем, что многие ISAP могут переноситься неправильно, например:
- ASP.NET (требуется установка).
- WebDAV (который по умолчанию не входит в Состав Windows Server 2008 и требует дополнительной установки).
- Серверные расширения FrontPage (которые не входят в состав Windows Server 2008 по умолчанию и требуют дополнительной установки).
Решение: Обходной путь. Вручную включите в файл манифеста все карты скриптов или файлы, которые не требуют установки. Дополнительные сведения о создании файлов манифеста см. в справке.
Проблема: Пользовательские файлы доверия, указанные в параметрах политики Web.config корневого уровня и безопасности доступа к коду (CAS), не будут перемещены.
Решение: Вручную укажите пользовательский файл доверия и файл политики CAS, security.config, в файле манифеста. Дополнительные сведения о создании файлов манифеста см. в файле справки.
Проблема: При перемещении сайта на сервер с другим уровнем доверия вы не получите предупреждение.
Решение: Убедитесь, что уровень доверия правильно задан на конечном компьютере при синхронизации или миграции на уровне сайта.
Проблема: Если у вас есть пользовательский файл манифеста, указывающий на недопустимый источник, может не появиться сообщение об ошибке.
Решение: Если ожидаемые выходные данные при использовании файла манифеста не отображаются, попробуйте каждый элемент по отдельности, чтобы узнать, неправильно ли они введены или недопустимы.
Проблема: FTP и SMTP не включены в определения по умолчанию для webserver60.
Решение: Если вам нужно синхронизировать эти расположения, вручную синхронизируйте их с помощью поставщика метаключа, т. е. metakey=lm/msftpsvc.
Проблема: Унаследованные свойства не переносятся при миграции сайта IIS 6.0. Распространенным примером является проверка подлинности, заданная на уровне сервера со всеми сайтами, наследующими это свойство. При переносе одного сайта он наследует параметры нового целевого сервера. Если параметры целевого сервера не совпадают, сайт может нарушиться. Это относится ко всем унаследованным свойствам, включая карты MIME, карты скриптов и т. д.
Решение: Используйте флаг metadataGetInherited для копирования унаследованных параметров на уровень сайта при синхронизации или миграции веб-сайта в IIS 6.0. Или убедитесь, что параметры сервера совпадают на исходном и целевом серверах, или вручную задайте для сайта правильные параметры.
Устранение неполадок с установкой
При возникновении проблем во время установки можно выполнить соответствующую команду, указанную ниже для вашей версии Windows, чтобы создать файл журнала, содержащий сведения о процессе установки:
msiexec /L msdeployinstall.log /I <path_to_msi>
msiexec /L msdeployinstall.log /I <path_to_msi>
Этот файл журнала можно проанализировать после неудачной установки, чтобы определить причину сбоя.
Дополнительные сведения см. в разделе
Следующие дополнительные ресурсы для веб-развертывания доступны на IIS.net:
- Пошаговое руководство по веб-развертыванию. Описывает, как скачать и установить веб-развертывание, как использовать его для операций синхронизации или миграции и многое другое.
- Кроме того, обязательно посетите блог команды веб-развертывания , чтобы получить советы, рекомендации и последние сведения об этом средстве.
© 2007 –2011 Корпорация Майкрософт.