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


Настройка веб-сервера для публикации веб-развертывания (удаленный агент)

Джейсон Ли

В этом разделе описывается, как настроить веб-сервер служб IIS для поддержки веб-публикации и развертывания с помощью службы удаленного агента средства веб-развертывания IIS .

При работе с веб-развертыванием 2.0 или более поздней версии существует три main подходов, которые можно использовать для размещения приложений или сайтов на веб-сервере. Вы можете:

  • Используйте службу удаленного агента веб-развертывания. Этот подход требует меньшей конфигурации веб-сервера, но для развертывания на сервере необходимо предоставить учетные данные администратора локального сервера.
  • Используйте обработчик веб-развертывания. Этот подход гораздо сложнее и требует дополнительных первоначальных усилий для настройки веб-сервера. Однако при использовании этого подхода можно настроить службы IIS, чтобы разрешить пользователям без прав администратора выполнять развертывание. Обработчик веб-развертывания доступен только в IIS версии 7 или более поздней.
  • Используйте автономное развертывание. Этот подход требует минимальной конфигурации веб-сервера, но администратор сервера должен вручную скопировать веб-пакет на сервер и импортировать его через диспетчер IIS.

Дополнительные сведения об основных функциях, преимуществах и недостатках этих подходов см. в статье Выбор правильного подхода к веб-развертыванию.

Является ли удаленный агент веб-развертывание правильным подходом?

Да, если пользователь, который будет развертывать содержимое, может предоставить учетные данные администратора на целевом сервере. Этот подход часто является желательным в таких сценариях:

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

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

Обзор задачи

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

  • Установите IIS 7.5 и рекомендуемую конфигурацию IIS 7.
  • Установите веб-развертывание 2.1 или более поздней версии.
  • Создайте веб-сайт IIS для размещения развернутого содержимого.
  • Убедитесь, что служба веб-Deployment Agent запущена.

Для размещения примера решения вам также потребуется:

  • Установите платформа .NET Framework 4.0.
  • Установите ASP.NET MVC 3.

В этом разделе показано, как выполнить каждую из этих процедур. В задачах и пошаговых руководствах в этом разделе предполагается, что вы начинаете с чистой сборки сервера под управлением Windows Server 2008 R2. Прежде чем продолжить, убедитесь, что:

  • Установлены Windows Server 2008 R2 с пакетом обновления 1 (SP1) и все доступные обновления.
  • Сервер присоединен к домену.
  • Сервер имеет статический IP-адрес.

Примечание

Дополнительные сведения о присоединении компьютеров к домену см. в разделах Присоединение компьютеров к домену и Вход в систему. Дополнительные сведения о настройке статических IP-адресов см. в разделе Настройка статического IP-адреса. Служба удаленного агента поддерживается службами IIS 6 и более поздних версий и не требует присоединения к домену. Однако шаги, описанные в этом руководстве, были разработаны и протестированы на iis 7.5, а процедуры для других версий могут отличаться.

Установка продуктов и компонентов

В этом разделе описывается установка необходимых продуктов и компонентов на веб-сервере. Перед началом работы рекомендуется выполнить клиентский компонент Центра обновления Windows, чтобы убедиться, что сервер полностью обновлен.

В этом случае необходимо установить следующие компоненты:

  • Рекомендуемая конфигурация IIS 7. Это включает роль веб-сервера (IIS) на веб-сервере и устанавливает набор модулей и компонентов IIS, необходимых для размещения ASP.NET приложения.
  • платформа .NET Framework 4.0. Это необходимо для запуска приложений, созданных на основе этой версии платформа .NET Framework.
  • Средство веб-развертывания 2.1 или более поздней версии. При этом веб-развертывание (и его базовый исполняемый файл MSDeploy.exe) устанавливается на сервере. В рамках этого процесса устанавливается и запускается служба веб-Deployment Agent. Эта служба позволяет развертывать веб-пакеты с удаленного компьютера.
  • ASP.NET MVC 3. При этом будут установлены сборки, необходимые для запуска приложений MVC 3.

Примечание

В этом пошаговом руководстве описывается использование установщика веб-платформы для установки и настройки необходимых компонентов. Хотя вам не нужно использовать установщик веб-платформы, он упрощает процесс установки, автоматически обнаруживая зависимости и гарантируя, что вы всегда получаете последние версии продукта. Дополнительные сведения см. в разделе установщик веб-платформы Майкрософт 3.0.

Установка необходимых продуктов и компонентов

  1. Скачайте и установите установщик веб-платформы.

  2. После завершения установки установщик веб-платформы запустится автоматически.

    Примечание

    Теперь установщик веб-платформы можно запустить в любое время из меню Пуск . Для этого в меню Пуск выберите пункт Все программы, а затем — установщик веб-платформы Майкрософт.

  3. В верхней части окна Установщик веб-платформы 3.0 щелкните Продукты.

  4. В левой части окна в области навигации щелкните Платформы.

  5. Если платформа .NET Framework еще не установлен, в строке Microsoft платформа .NET Framework 4 нажмите кнопку Добавить.

    Примечание

    Возможно, вы уже установили платформа .NET Framework 4.0 по клиентский компонент Центра обновления Windows. Если продукт или компонент уже установлены, установщик веб-платформы укажет это, заменив кнопку Добавить текстом Установленные.

    Если продукт или компонент уже установлены, установщик веб-платформы укажет это, заменив кнопку Добавить текстом Установленные.

  6. В строке ASP.NET MVC 3 (Visual Studio 2010) нажмите кнопку Добавить.

  7. В области навигации щелкните Сервер.

  8. В строке Рекомендуемая конфигурация IIS 7 нажмите кнопку Добавить.

  9. В строке Средство веб-развертывания 2.1 нажмите кнопку Добавить.

  10. Нажмите кнопку Установить. Установщик веб-платформы отобразит список продуктов вместе со связанными зависимостями и предложит принять условия лицензионного соглашения.

    Нажмите кнопку Установить. Установщик веб-платформы отобразит список продуктов вместе со связанными зависимостями, которые необходимо установить, и предложит принять условия лицензионного соглашения.

  11. Просмотрите условия лицензии и, если вы согласны с условиями, нажмите кнопку Я принимаю.

  12. После завершения установки нажмите кнопку Готово, а затем закройте окно Установщик веб-платформы 3.0 .

Если вы установили платформа .NET Framework 4.0 перед установкой СЛУЖБ IIS, необходимо запустить средство регистрации ASP.NET IIS (aspnet_regiis.exe), чтобы зарегистрировать последнюю версию ASP.NET в IIS. Если этого не сделать, вы обнаружите, что службы IIS будут обслуживать статическое содержимое (например, HTML-файлы) без каких-либо проблем, но при попытке перейти к ASP.NET содержимому будет возвращена ошибка HTTP 404.0 — Не найдено . Эту процедуру можно использовать для регистрации ASP.NET 4.0.

Регистрация ASP.NET 4.0 в IIS

  1. Нажмите кнопку Пуск и введите Командная строка.

  2. В результатах поиска щелкните правой кнопкой мыши командную строку и выберите команду Запуск от имени администратора.

  3. В окне командной строки перейдите в каталог %WINDIR%\Microsoft.NET\Framework\v4.0.30319 .

  4. Введите эту команду и нажмите клавишу ВВОД:

    aspnet_regiis -iru
    
  5. Если вы планируете размещать 64-разрядные веб-приложения в любой момент, следует также зарегистрировать 64-разрядную версию ASP.NET в IIS. Для этого в окне командной строки перейдите в каталог %WINDIR%\Microsoft.NET\Framework64\v4.0.30319 .

  6. Введите эту команду и нажмите клавишу ВВОД:

    aspnet_regiis -iru
    

Рекомендуется использовать клиентский компонент Центра обновления Windows на этом этапе, чтобы скачать и установить все доступные обновления для новых продуктов и компонентов, которые вы установили.

Настройка веб-сайта IIS

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

  • Создайте папку в файловой системе для размещения содержимого.
  • Создайте веб-сайт IIS для обслуживания содержимого и свяжите его с локальной папкой.
  • Предоставьте разрешения на чтение удостоверению пула приложений в локальной папке.

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

Создание и настройка веб-сайта IIS

  1. В локальной файловой системе создайте папку для хранения содержимого (например, C:\DemoSite).

  2. В меню Пуск наведите указатель на пункт Администрирование, а затем выберите пункт Диспетчер служб IIS.

  3. В диспетчере IIS в области Подключения разверните узел сервера (например, TESTWEB1).

    В диспетчере IIS в области Подключения разверните узел сервера (например, TESTWEB1).

  4. Щелкните правой кнопкой мыши узел Сайты и выберите команду Добавить веб-сайт.

  5. В поле Имя сайта введите имя веб-сайта IIS (например, DemoSite).

  6. В поле Физический путь введите (или перейдите по адресу) путь к локальной папке (например, C:\DemoSite).

  7. В поле Порт введите номер порта, на котором вы хотите разместить веб-сайт (например, 85).

    Примечание

    Стандартные номера портов : 80 для HTTP и 443 для HTTPS. Однако если вы размещаете этот веб-сайт через порт 80, необходимо остановить веб-сайт по умолчанию, прежде чем вы сможете получить доступ к сайту.

  8. Оставьте поле Имя узла пустым, если вы не хотите настроить запись системы доменных имен (DNS) для веб-сайта, а затем нажмите кнопку ОК.

    Оставьте поле Имя узла пустым, если вы не хотите настроить запись системы доменных имен (DNS) для веб-сайта, а затем нажмите кнопку ОК.

    Примечание

    В рабочей среде вам, скорее всего, потребуется разместить веб-сайт на порту 80 и настроить заголовок узла вместе с соответствующими записями DNS. Дополнительные сведения о настройке заголовков узлов в IIS 7 см. в разделе Настройка заголовка узла для веб-сайта (IIS 7). Дополнительные сведения о роли DNS-сервера в Windows Server 2008 R2 см. в статье Общие сведения о DNS-сервере.

  9. В области Действия в разделе Изменение веб-сайтавыберите пункт Привязки.

  10. В диалоговом окне Привязки сайта нажмите кнопку Добавить.

    В диалоговом окне Привязки сайта нажмите кнопку Добавить.

  11. В диалоговом окне Добавление привязки сайта задайте IP-адрес и порт в соответствии с существующей конфигурацией сайта.

  12. В поле Имя узла введите имя веб-сервера (например, TESTWEB1) и нажмите кнопку ОК.

    В поле Имя узла введите имя веб-сервера (например, TESTWEB1) и нажмите кнопку ОК.

    Примечание

    Первая привязка сайта позволяет получить доступ к сайту локально с помощью IP-адреса и порта или http://localhost:85. Вторая привязка сайта позволяет получить доступ к сайту с других компьютеров в домене, используя имя компьютера (например, http://testweb1:85).

  13. В диалоговом окне Привязки сайта нажмите кнопку Закрыть.

  14. В области Подключения щелкните элемент Пулы приложений.

  15. В области Пулы приложений щелкните правой кнопкой мыши имя пула приложений и выберите пункт Основные параметры. По умолчанию имя пула приложений будет совпадать с именем веб-сайта (например, DemoSite).

  16. В списке версий платформа .NET Framework выберите платформа .NET Framework версии 4.0.30319 и нажмите кнопку ОК.

    В списке версий платформа .NET Framework выберите платформа .NET Framework версии 4.0.30319 и нажмите кнопку ОК.

    Примечание

    Для примера решения требуется платформа .NET Framework 4.0. Это не является обязательным требованием для веб-развертывания в целом.

Чтобы веб-сайт обслуживал содержимое, удостоверение пула приложений должно иметь разрешения на чтение в локальной папке, в которую хранится содержимое. В IIS 7.5 пулы приложений по умолчанию запускаются с уникальным удостоверением пула приложений (в отличие от предыдущих версий IIS, где пулы приложений обычно запускались с помощью учетной записи сетевой службы). Удостоверение пула приложений не является реальной учетной записью пользователя и не отображается в списках пользователей или групп. Вместо этого оно создается динамически при запуске пула приложений. Каждое удостоверение пула приложений добавляется в локальную группу безопасности IIS_IUSRS как скрытый элемент.

Чтобы предоставить разрешения удостоверению пула приложений на файл или папку, можно использовать два варианта:

  • Назначьте разрешения для удостоверения пула приложений напрямую, используя формат IIS AppPool[имя пула приложений] (например, IIS AppPool\DemoSite).
  • Назначьте разрешения группе IIS_IUSRS .

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

Примечание

Дополнительные сведения об удостоверениях пула приложений в IIS 7.5 см. в разделе Удостоверения пула приложений.

Настройка разрешений папки для веб-сайта IIS

  1. В Windows Обозреватель перейдите к расположению локальной папки.

  2. Щелкните правой кнопкой мыши папку, затем щелкните Свойства.

  3. На вкладке Security щелкните Edit, а затем Add.

  4. Щелкните Расположения. В диалоговом окне Расположения выберите локальный сервер и нажмите кнопку ОК.

    Щелкните Расположения. В диалоговом окне Расположения выберите локальный сервер и нажмите кнопку ОК.

  5. В диалоговом окне Выбор пользователей или групп введите IIS_IUSRS, нажмите кнопку Проверить имена и нажмите кнопку ОК.

  6. Обратите внимание, что в диалоговом окне Разрешения для (имя папки) новой группе по умолчанию назначены разрешения Чтение & выполнения, Вывод списка содержимого папки и Чтение . Оставьте это значение без изменений и нажмите кнопку ОК.

  7. Нажмите кнопку ОК, чтобы закрыть диалоговое окно Свойства (имя папки).

В качестве последней задачи перед попыткой развертывания веб-пакетов на сервере необходимо убедиться, что служба веб-Deployment Agent запущена. При развертывании пакета с удаленного компьютера служба веб-Deployment Agent отвечает за извлечение и установку пакета. Служба запускается по умолчанию при установке средства веб-развертывания и запускается с удостоверением сетевой службы.

Вы можете проверка, работает ли служба различными способами, используя различные программы командной строки или командлеты Windows PowerShell. В этой процедуре описывается простой подход на основе пользовательского интерфейса.

Проверка, что служба веб-Deployment Agent запущена

  1. Нажмите кнопку Пуск , выберите команду Администрирование, а затем выберите Службы.

  2. Найдите строку Служба веб-Deployment Agent и убедитесь, что для свойства Состояние задано значение Запущено.

    Найдите строку Служба веб-Deployment Agent и убедитесь, что для свойства Состояние задано значение Запущено.

  3. Если служба еще не запущена, нажмите кнопку Запустить.

Настройка исключений брандмауэра

По умолчанию служба удаленного агента прослушивает TCP-порт 80 по следующему URL-адресу:

http://servername.com/MSDEPLOYAGENTSERVICE

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

Заключение

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

  • Вы зарегистрировали ASP.NET 4.0 в СЛУЖБАх IIS?
  • Имеет ли удостоверение пула приложений доступ на чтение к исходной папке для веб-сайта?
  • Запущена ли служба веб-Deployment Agent?

Дополнительные материалы

Инструкции по настройке пользовательских файлов проекта Microsoft Build Engine (MSBuild) для развертывания веб-пакетов в службе удаленного агента см. в разделе Настройка свойств развертывания для целевой среды.