Установка веб-пакетов вручную
В этом разделе описывается, как вручную импортировать пакет веб-развертывания в службы IIS.
В статье Создание и упаковка проектов веб-приложений описывается, как средство веб-развертывания IIS (веб-развертывание) в сочетании с Microsoft Build Engine (MSBuild) и конвейером веб-публикации (WPP) позволяет упаковывать проекты веб-приложений в один ZIP-файл. Этот файл, известный как пакет веб-развертывания (или просто пакет развертывания), содержит все содержимое и сведения о конфигурации, необходимые IIS для повторного создания веб-приложения на веб-сервере.
После создания пакета веб-развертывания его можно опубликовать на сервере IIS различными способами. Во многих сценариях вы захотите воспользоваться преимуществами точек интеграции между MSBuild, WPP и веб-развертыванием для удаленного создания и установки веб-пакетов в рамках автоматизированного или одношагового процесса сборки и развертывания. Этот процесс описан в разделе Развертывание веб-пакетов. Однако это не всегда возможно. Предположим, вы хотите развернуть веб-приложение в рабочей среде с выходом в Интернет. По соображениям безопасности такая рабочая среда по крайней мере может находиться за брандмауэром в подсети, которая отделена от сервера сборки, в сети периметра (также известной как dmz, демилитаризованная зона и экранированная подсеть). Во многих случаях рабочая среда будет находиться в отдельном домене или в физически изолированной сети.
В этих сценариях единственным вариантом может быть перенос веб-пакета на целевой сервер и его импорт вручную в IIS. Хотя этот подход исключает автоматическое развертывание, он по-прежнему является весьма эффективным методом публикации веб-приложения: вы просто копируете один ZIP-файл на веб-сервер и используете мастер, который поможет вам выполнить процесс импорта.
Этот раздел является частью серии учебников, основанных на требованиях к корпоративному развертыванию вымышленной компании Fabrikam, Inc. В этой серии руководств используется пример решения диспетчера контактов для представления веб-приложения с реалистичным уровнем сложности, включая приложение ASP.NET MVC 3, службу Windows Communication Foundation (WCF) и проект базы данных.
Обзор задачи
Чтобы импортировать пакет веб-развертывания в IIS, вам потребуется выполнить следующие высокоуровневые задачи:
- Создайте пакет веб-развертывания с помощью командной строки MSBuild, командной сборки или Visual Studio 2010.
- Скопируйте веб-пакет на целевой веб-сервер.
- Используйте мастер импорта пакетов приложений в диспетчере IIS, чтобы установить веб-пакет и предоставить значения для переменных, таких как строки подключения и конечные точки службы.
В этом разделе показано, как выполнить эти процедуры. В задачах и пошаговых руководствах в этом разделе предполагается, что вы уже знакомы с основными понятиями, лежащими в основе веб-пакетов, веб-развертывания и WPP. Дополнительные сведения см. в статье Создание и упаковка проектов веб-приложений.
Примечание
Этот раздел лучше всего использовать в сочетании с разделом Настройка веб-сервера для публикации веб-развертывания (автономное развертывание), в котором объясняется, как установить необходимые компоненты и подготовить веб-сайт IIS к импорту пакетов.
Создание пакета веб-развертывания
Первая задача — создать пакет веб-развертывания для проекта веб-приложения, который требуется развернуть. Веб-пакеты можно создавать различными способами.
Подход 1. Создание пакета в процессе сборки с помощью Visual Studio
Вы можете настроить проект веб-приложения для создания пакета веб-развертывания после каждой сборки на вкладке Пакет или публикация веб-сайта на страницах свойств проекта. Этот процесс описан в разделе Создание и упаковка проектов веб-приложений.
Подход 2. Создание пакета в процессе сборки с помощью MSBuild
Если вы создаете проект веб-приложения напрямую с помощью MSBuild либо через пользовательский файл проекта MSBuild, либо из командной строки, вы можете создать пакет веб-развертывания в процессе сборки, включив свойства DeployOnBuild=true и DeployTarget=Package в команду. Этот процесс описан в разделе Основные сведения о процессе сборки.
Подход 3. Создание пакета по запросу в Visual Studio
Пакет веб-развертывания для проекта веб-приложения можно создать в любое время в Visual Studio 2010. Для этого в окне Обозреватель решений щелкните правой кнопкой мыши проект веб-приложения и выберите команду Собрать пакет развертывания.
Подход 4. Создание пакета по запросу из командной строки
Пакет веб-развертывания можно создать из командной строки, вызвав целевой объект пакета в проекте веб-приложения с помощью MSBuild. Команда должна выглядеть следующим образом:
MSBuild.exe [Path to your project].[csproj/vbproj] /T:Package
Какой бы подход вы ни использовали, конечный результат будет одинаковым. WPP создает пакет веб-развертывания в виде ZIP-файла вместе с различными вспомогательными ресурсами в выходной папке проекта веб-приложения.
Если вы планируете импортировать веб-пакет вручную, вам потребуется только ZIP-файл. Скопируйте этот файл на целевой веб-сервер и сможете начать процесс импорта.
Импорт веб-пакета в IIS
Следующую процедуру можно использовать для импорта пакета веб-развертывания из локальной файловой системы на веб-сайт IIS. Перед выполнением этой процедуры убедитесь, что у вас есть:
- Скопировал пакет веб-развертывания на веб-сервер.
- Настроен веб-сервер IIS для размещения приложения.
Дополнительные сведения о настройке веб-сервера IIS для поддержки пакетов веб-развертывания см. в разделе Настройка веб-сервера для публикации веб-развертывания (автономное развертывание).
Импорт пакета веб-развертывания с помощью диспетчера IIS
В диспетчере IIS в области Подключения щелкните правой кнопкой мыши веб-сайт IIS, наведите указатель мыши на пункт Развернуть и выберите пункт Импорт приложения.
В мастере импорта пакетов приложений на странице Выбор пакета перейдите к расположению пакета веб-развертывания и нажмите кнопку Далее.
На странице Выбор содержимого пакета очистите все содержимое, которое вам не требуется, и нажмите кнопку Далее.
Примечание
Во многих случаях может потребоваться не импортировать все компоненты, которые входят в пакет веб-развертывания. Например, вы не захотите разрешить веб-развертыванию заменять связанную базу данных.
Записи Предоставить разрешения задают разрешения для конечной файловой системы, чтобы убедиться, что удостоверение пула приложений может получить доступ к физической папке, в которую хранится содержимое веб-сайта. Кроме того, анонимному пользователю проверки подлинности предоставляется разрешение на чтение папки, чтобы разрешить приложению обслуживать файлы типов MIME. При желании вы можете удалить эти записи и настроить разрешения вручную.На странице Ввод сведений о пакете приложения укажите запрошенные сведения.
При создании веб-пакета WPP анализирует файл конфигурации приложения и обнаруживает любые переменные, такие как строки подключения и конечные точки службы. В данном случае:
Путь к приложению — это путь IIS, по которому требуется установить приложение. Этот параметр является общим для всех пакетов развертывания, создаваемых WPP.
Адрес конечной точки службы ContactService — это адрес, который приложение должно использовать для взаимодействия с развернутой службой WCF. Этот параметр соответствует записи в файлеweb.config .
Первый параметр строки подключения — это строка подключения, которую веб-развертывание должно использовать для развертывания базы данных, связанной с приложением (в данном случае база данных членства ASP.NET). Этот параметр соответствует параметру на вкладке Пакет или публикация SQL в Visual Studio.
Второй параметр строки подключения — это строка подключения, которую приложение будет использовать для взаимодействия с базой данных, когда она будет запущена. Соответствует записи строки подключения в файлеweb.config .
Примечание
Дополнительные сведения о том, откуда берутся эти параметры, см. в разделе Настройка параметров для развертывания веб-пакетов.
Щелкните Далее.
Если вы не в первый раз развертываете приложение на этом веб-сайте, вам будет предложено указать, нужно ли удалить все существующее содержимое перед установкой. Выберите параметр, соответствующий вашим требованиям, и нажмите кнопку Далее.
Завершив установку пакета служб IIS, нажмите кнопку Готово.
На этом этапе вы успешно опубликовали веб-приложение в IIS.
Заключение
В этом разделе описывается, как импортировать пакет веб-развертывания на веб-сайт IIS с помощью диспетчера IIS. Такой подход к публикации веб-приложений подходит, когда ограничения безопасности или инфраструктуры делают удаленное развертывание невозможным или нежелательным.
Дополнительные материалы
Инструкции по настройке веб-сервера IIS для поддержки импорта веб-пакета вручную см. в статье Настройка веб-сервера для публикации веб-развертывания (автономное развертывание). Более общие рекомендации по развертыванию веб-пакетов см. в разделе Пошаговое руководство. Развертывание проекта веб-приложения с помощью пакета веб-развертывания (часть 1 из 4).