Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом разделе описывается, как настроить веб-сервер Internet Information Services (IIS) для поддержки веб-публикации и развертывания с использованием обработчика веб-развертывания IIS.
При работе с веб-развертыванием 2.0 или более новых версий есть три основных подхода, которые можно использовать, чтобы развернуть ваши приложения или сайты на веб-сервере. Вы можете:
- Используйте службу удаленного агента веб-развертывания. Этот подход требует меньшей конфигурации веб-сервера, но для развертывания на сервере необходимо указать учетные данные локального администратора сервера.
- Используйте обработчик веб-развертывания. Этот подход является гораздо более сложным и требует дополнительных первоначальных усилий по настройке веб-сервера. Однако при использовании этого подхода можно настроить службы IIS, чтобы пользователи, не являющиеся администраторами, могли выполнять развертывание. Обработчик веб-развертывания доступен только в IIS версии 7 или более поздней.
- Используйте автономное развертывание. Этот подход требует минимальной конфигурации веб-сервера, но администратор сервера должен вручную скопировать веб-пакет на сервер и импортировать его через диспетчер IIS.
Дополнительные сведения о ключевых функциях, преимуществах и недостатках этих подходов см. в разделе "Выбор правильного подхода к веб-развертыванию".
Да, если вы хотите разрешить пользователям, не администраторам, развертывать содержимое на определенных веб-сайтах IIS. Этот подход часто является желательным в таких сценариях:
- Промежуточные или рабочие среды, в которых пользователь или учетная запись службы, которая активирует удаленное развертывание, вряд ли будет иметь доступ к учетным данным администратора сервера.
- Размещенные среды, где вы хотите предоставить удаленным пользователям возможность обновлять свои веб-сайты, не предоставляя им полный контроль над веб-серверами (или доступом к веб-сайтам других пользователей).
В сценариях разработки или тестирования, а также в небольших организациях развертывание содержимого с использованием учетных данных администратора сервера вызывает меньше споров. В этих сценариях настройка веб-серверов для поддержки развертывания с помощью службы удаленного развертывания веб-развертывания обеспечивает более простой подход.
Обзор задачи
Чтобы настроить веб-сервер для принятия и развертывания веб-пакетов с удаленного компьютера с помощью подхода обработчика веб-развертывания, вам потребуется:
- Создайте или выберите учетную запись пользователя домена (неадминистратора), учетные данные которой будут использоваться для выполнения развертываний.
- Установите IIS 7.5, включая веб-службу управления и модуль базовой проверки подлинности.
- Установите Web Deploy 2.1 или более поздней версии.
- Настройте службу веб-управления, чтобы разрешить удаленные подключения и запустить службу.
- Создайте веб-сайт IIS для размещения развернутого содержимого.
- Предоставьте на веб-сайте разрешения пользователей, не являющихся администраторами, в диспетчере IIS.
- Убедитесь, что правила делегирования веб-службы позволяют службе добавлять и изменять содержимое веб-сайта с помощью учетной записи пользователя, отличной от администратора.
- Настройте все брандмауэры, чтобы разрешить входящие подключения через порт 8172.
Чтобы разместить пример решения ContactManager, вам также потребуется:
- Установите .NET Framework 4.0.
- Установите ASP.NET MVC 3.
В этом разделе показано, как выполнять каждую из этих процедур. Задачи и пошаговые руководства в этом разделе предполагают, что вы начинаете с чистой сборки сервера под управлением Windows Server 2016. Прежде чем продолжить, убедитесь, что:
- Windows Server 2016
- Сервер присоединен к домену.
- Сервер имеет статический IP-адрес.
Замечание
Дополнительные сведения о присоединении компьютеров к домену см. в разделе "Присоединение компьютеров к домену и вход". Дополнительные сведения о настройке статических IP-адресов см. в разделе "Настройка статического IP-адреса".
Установка продуктов и компонентов
В этом разделе описано, как установить необходимые продукты и компоненты на веб-сервере. Прежде чем начать, рекомендуется запустить Центр обновления Windows, чтобы убедиться, что сервер полностью обновлен.
В этом случае необходимо установить следующие компоненты:
- Рекомендуемая конфигурация IIS 7. Это включает роль веб-сервера (IIS) и устанавливает набор модулей и компонентов IIS, необходимых для размещения приложения ASP.NET.
- IIS: служба управления. Устанавливается служба управления вебом (WMSvc) в службах IIS. Эта служба обеспечивает удаленное управление веб-сайтами IIS и предоставляет точку доступа для обработчика Web Deploy клиентам.
- IIS: Basic Authentication. При этом устанавливается модуль базовой проверки подлинности IIS. Это позволяет службе веб-управления (WMSvc) пройти проверку подлинности предоставленных учетных данных.
- Средство веб-развертывания 2.1 или более поздней версии. Это устанавливает Web Deploy (и его базовый исполняемый файл, MSDeploy.exe) на вашем сервере. В рамках этого процесса он устанавливает обработчик веб-развертывания и интегрирует его с веб-службой управления.
- .NET Framework 4.0. Это необходимо для запуска приложений, созданных на основе этой версии .NET Framework.
- ASP.NET MVC 3. Это устанавливает сборки, необходимые для запуска приложений MVC 3.
Замечание
В этом пошаговом руководстве описывается использование установщика веб-платформы для установки и настройки различных компонентов. Хотя вам не нужно использовать установщик веб-платформы, он упрощает процесс установки, автоматически обнаруживая зависимости и обеспечивая всегда получение последних версий продукта. Дополнительные сведения см. в разделе установщика веб-платформы Майкрософт.
Установка необходимых продуктов и компонентов
После завершения установки установщик веб-платформы запустится автоматически.
Замечание
Теперь вы можете запустить установщик веб-платформы в любое время из меню "Пуск ". Для этого в меню "Пуск " выберите пункт "Все программы" и выберите установщик веб-платформы Майкрософт.
В верхней части окна установщика веб-платформы щелкните "Продукты".
В левой части окна в области навигации щелкните Платформы.
В строке Microsoft .NET Framework 4 , если платформа .NET Framework еще не установлена, нажмите кнопку "Добавить".
Замечание
Возможно, вы уже установили .NET Framework 4.0 через Центр обновления Windows. Если продукт или компонент уже установлен, установщик веб-платформы указывает на это, заменив кнопку "Добавить" текстом "Установлен".
В строке ASP.NET MVC 3 (Visual Studio 2010) нажмите кнопку "Добавить".
В области навигации щелкните "Сервер".
В строке рекомендуемой конфигурации IIS 7 нажмите кнопку "Добавить".
В строке средства веб-развертывания 2.1 нажмите кнопку "Добавить".
В строке IIS: обычная проверка подлинности нажмите кнопку "Добавить".
В строке IIS: Служба управления нажмите Добавить.
Нажмите кнопку "Установить". Установщик веб-платформы отобразит список продуктов вместе с любыми связанными зависимостями, которые будут установлены, и предложит принять условия лицензионного соглашения.
Просмотрите условия лицензии и, если вы согласились с условиями, нажмите кнопку "Принять".
После завершения установки нажмите кнопку "Готово" и закройте окно установщика веб-платформы .
Если перед установкой IIS установлен .NET Framework 4.0, необходимо запустить средство регистрации ASP.NET IIS (aspnet_regiis.exe), чтобы зарегистрировать последнюю версию ASP.NET в IIS. Если этого не сделать, служба IIS будет обслуживать статическое содержимое (например, HTML-файлы) без каких-либо проблем, но возвращает ошибку HTTP 404.0 — не найдена при попытке перейти к ASP.NET содержимому. Следующую процедуру можно использовать для регистрации ASP.NET 4.0.
Регистрация ASP.NET 4.0 в IIS
Нажмите кнопку "Пуск", а затем введите командную строку.
В результатах поиска щелкните правой кнопкой мыши командную строку и выберите команду "Запустить от имени администратора".
В окне командной строки перейдите к каталогу %WINDIR%\Microsoft.NET\Framework\v4.0.30319 .
Введите эту команду и нажмите клавишу ENTER:
aspnet_regiis -iruЕсли вы планируете размещать 64-разрядные веб-приложения в любой момент, необходимо также зарегистрировать 64-разрядную версию ASP.NET в IIS. Для этого в окне командной строки перейдите в каталог %WINDIR%\Microsoft.NET\Framework64\v4.0.30319 .
Введите эту команду и нажмите клавишу ВВОД:
aspnet_regiis -iru
Рекомендуется снова использовать Центр обновления Windows на этом этапе, чтобы скачать и установить все доступные обновления для новых продуктов и компонентов, которые вы установили.
Настройка службы управления веб-сайтами
Теперь, когда вы установили все необходимые компоненты, необходимо настроить службу управления веб-разработкой в службе IIS. На высоком уровне вам потребуется выполнить следующие задачи:
- Включите базовую проверку подлинности на уровне сервера.
- Настройте службу управления веб-сайтами для приема удаленных подключений.
- Запустите службу веб-управления.
- Убедитесь, что необходимые правила делегирования службы веб-управления установлены.
Настройка службы веб-управления
В меню "Пуск " наведите указатель мыши на администрирование и выберите диспетчер служб IIS.
В диспетчере IIS в области "Подключения " щелкните узел сервера (например, STAGEWEB1).
В центральной области в разделе IIS дважды щелкните проверку подлинности.
Щелкните правой кнопкой мыши обычную проверку подлинности и нажмите кнопку "Включить".
В области "Подключения" снова щелкните узел сервера, чтобы вернуться к параметрам верхнего уровня.
В центральной области в разделе "Управление" дважды щелкните службу управления.
В центральной области выберите "Включить удаленные подключения".
Замечание
Если служба веб-управления уже запущена, сначала необходимо остановить ее.
В области "Действия" нажмите кнопку "Пуск ", чтобы запустить службу управления веб-сайтами.
Если вам будет предложено сохранить параметры, нажмите кнопку "Да".
Замечание
Вы также можете настроить службу для автоматического запуска. Для этого откройте консоль служб, щелкните правой кнопкой мыши веб-службу управления и выберите пункт "Свойства". В раскрывающемся списке "Тип запуска" выберите "Автоматически" и нажмите кнопку "ОК".
В области "Подключения" снова щелкните узел сервера, чтобы вернуться к параметрам верхнего уровня.
В центральной области в разделе "Управление" дважды щелкните Делегирование службы управления.
Убедитесь, что в центральной области содержится набор правил.
Эти правила позволяют авторизованным пользователям веб-службы управления использовать различные поставщики веб-развертывания. Например, для развертывания веб-приложений и содержимого в IIS через обработчик веб-развертывания необходимо иметь правило делегирования, которое позволяет всем пользователям, прошедшим проверку подлинности веб-службы управления, использовать поставщики contentPath и iisApp (последнее правило, которое можно увидеть на снимке экрана).
Если вы установили продукты и компоненты в порядке, описанном в этом разделе, последняя версия веб-развертывания должна автоматически добавлять все необходимые правила делегирования в службу веб-управления. Если на странице делегирования службы управления не отображаются правила, вам потребуется создать их самостоятельно. Инструкции по этой настройке см. в разделе "Настройка обработчика веб-развертывания".
В области "Подключения" снова щелкните узел сервера, чтобы вернуться к параметрам верхнего уровня.
Создание и настройка веб-сайта IIS
Прежде чем развернуть веб-содержимое на сервере, необходимо создать и настроить веб-сайт IIS для размещения содержимого. Web Deploy может развертывать только веб-пакеты на существующем веб-сайте IIS; он не может создать веб-сайт для вас. Кроме того, необходимо выполнить небольшую дополнительную настройку, чтобы разрешить учетной записи, отличной от администратора, удаленно развертывать содержимое. На высоком уровне вам потребуется выполнить следующие задачи:
- Создайте папку в файловой системе для размещения содержимого.
- Создайте веб-сайт IIS для обслуживания содержимого и свяжите его с локальной папкой.
- Предоставьте идентификатору пула приложений разрешения на чтение для локальной папки.
- Предоставьте необходимые разрешения IIS учетной записи домена, которая будет развертывать веб-приложение.
Хотя ничто не мешает вам развернуть содержимое на веб-сайте по умолчанию IIS, этот подход не рекомендуется использовать в ситуациях, отличных от тестирования или демонстрации. Чтобы имитировать рабочую среду, необходимо создать веб-сайт IIS с параметрами, соответствующими требованиям приложения.
Создание веб-сайта IIS
В локальной файловой системе создайте папку для хранения содержимого (например, C:\DemoSite).
В меню "Пуск " наведите указатель мыши на администрирование и выберите диспетчер служб IIS.
В диспетчере IIS в области "Подключения " разверните узел сервера (например, STAGEWEB1).
Щелкните правой кнопкой мыши узел "Сайты" и нажмите кнопку "Добавить веб-сайт".
В поле "Имя сайта " введите имя веб-сайта IIS (например, DemoSite).
В поле "Физический путь " введите (или перейдите) путь к локальной папке (например, C:\DemoSite).
В поле "Порт" введите номер порта, на котором должен размещаться веб-сайт (например, 85).
Замечание
Стандартные номера портов : 80 для HTTP и 443 для HTTPS. Однако если вы размещаете этот веб-сайт на порту 80, необходимо остановить веб-сайт по умолчанию, прежде чем получить доступ к сайту.
Оставьте поле имени узла пустым, если вы не хотите настроить запись системы доменных имен (DNS) для веб-сайта и нажмите кнопку "ОК".
Замечание
В рабочей среде, скорее всего, потребуется разместить веб-сайт на порту 80 и настроить заголовок узла вместе с соответствующими записями DNS. Дополнительные сведения о настройке заголовков узлов в IIS 7 см. в статье "Настройка заголовка узла для веб-сайта (IIS 7)". Дополнительные сведения о роли DNS-сервера в Windows Server см. в разделе "Обзор DNS-сервера".
В области "Действия" в разделе "Изменить сайт" щелкните "Привязки".
В диалоговом окне "Привязки сайта" нажмите кнопку "Добавить".
В диалоговом окне "Добавление привязки сайта" задайте IP-адрес и порт для сопоставления существующей конфигурации сайта.
В поле "Имя узла " введите имя веб-сервера (например, STAGEWEB1), а затем нажмите кнопку "ОК".
Замечание
Первая привязка сайта позволяет получить доступ к сайту локально с помощью IP-адреса и порта или
http://localhost:85. Вторая привязка сайта позволяет получить доступ к сайту с других компьютеров в домене с помощью имени компьютера (например, http://stageweb1:85).В диалоговом окне "Привязки сайта" нажмите кнопку "Закрыть".
В области "Подключения" щелкните "Пулы приложений".
В области пулов приложений щелкните правой кнопкой мыши имя пула приложений и выберите пункт "Основные параметры". По умолчанию имя пула приложений будет соответствовать имени веб-сайта (например, DemoSite).
В списке версий .NET CLR выберите .NET CLRверсии 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
В проводнике Windows перейдите к расположению локальной папки.
Щелкните правой кнопкой мыши папку и выберите пункт "Свойства".
На вкладке "Безопасность" нажмите кнопку "Изменить" и нажмите кнопку "Добавить".
Щелкните Расположения. В диалоговом окне "Расположения" выберите локальный сервер и нажмите кнопку "ОК".
В диалоговом окне "Выбор пользователей или групп" введите IIS_IUSRS, нажмите кнопку "Проверить имена" и нажмите кнопку "ОК".
В диалоговом окне "Разрешения для (имя папки) обратите внимание, что новой группе по умолчанию были предоставлены разрешения на чтение и выполнение, список содержимого папки и чтение. Оставьте это без изменений и нажмите кнопку "ОК".
Нажмите кнопку "ОК", чтобы закрыть диалоговое окно "Свойства" (имя папки).
В качестве конечной задачи необходимо предоставить соответствующие разрешения пользователю, не являющегося администратором, учетные данные которого будут использоваться для развертывания содержимого. Этому пользователю требуются разрешения для удаленного развертывания содержимого на веб-сайте.
Настройка разрешений веб-сайта IIS для пользователя домена, отличного от администратора
В диспетчере IIS в области Подключения щелкните правой кнопкой мыши узел веб-сайта (например DemoSite), наведите указатель на Развертывание и нажмите Настройка публикации веб-развертывания.
В диалоговом окне Настройка публикации веб-развертывания, справа от списка Выберите пользователя, которому будут предоставлены разрешения на публикацию, нажмите кнопку с многоточием.
В диалоговом окне "Разрешить пользователю" введите имя домена и пользователя учетной записи, которую вы хотите использовать для развертывания содержимого, и нажмите кнопку "ОК".
В диалоговом окне "Конфигурация публикации через Web Deploy" нажмите "Настроить".
Замечание
Эта операция выполняет две ключевые функции на одном шаге. Во-первых, он предоставляет пользователю разрешение на удаленное изменение веб-сайта через службу управления веб-сайтами в соответствии с правилами делегирования, которые вы изучили в предыдущем разделе. Во-вторых, он предоставляет пользователю полный контроль над исходной папкой для веб-сайта, что позволяет пользователю добавлять, изменять и задавать разрешения на содержимое веб-сайта.
В диалоговом окне "Настройка публикации веб-развертывания" нажмите "Закрыть".
Настройка исключений брандмауэра
По умолчанию служба управления веб-службами IIS прослушивает TCP-порт 8172. Если брандмауэр Windows включен на веб-сервере, необходимо создать новое правило для входящего трафика, чтобы разрешить TCP-трафик через порт 8172 (весь исходящий трафик разрешен по умолчанию в брандмауэре Windows). Если вы используете сторонний брандмауэр, необходимо создать правила, чтобы разрешить трафик.
| Направление | Из порта | Портировать | Тип порта |
|---|---|---|---|
| Входящий трафик | Любое | 8172 | Протокол tcp |
| исходящий | 8172 | Любое | Протокол tcp |
Дополнительные сведения о настройке правил в брандмауэре Windows см. в разделе "Настройка правил брандмауэра". Для сторонних брандмауэров обратитесь к документации по продукту.
Conclusion
Теперь ваш веб-сервер должен быть готов принимать удалённые развертывания на Web Deploy Handler через службу управления веб-сервером. Прежде чем пытаться развернуть веб-приложение на сервере, может потребоваться проверить следующие ключевые моменты:
- Включена базовая проверка подлинности на уровне сервера в IIS?
- Вы включили удаленные подключения к службе управления веб-сайтами?
- Вы запустили службу Web Management?
- Существуют ли правила делегирования служб управления?
- Имеет ли учетная запись пула приложений доступ на чтение к исходной папке вашего веб-сайта?
- Есть ли у учетной записи пользователя, не являющихся администраторами, разрешения на уровне сайта в IIS?
- Разрешает ли брандмауэр входящие подключения к серверу через TCP-порт 8172?
Дальнейшее чтение
Инструкции по настройке пользовательских файлов проекта microsoft Build Engine (MSBuild) для развертывания веб-пакетов в обработчике веб-развертывания см. в разделе "Настройка свойств развертывания для целевой среды".