Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 12 лет назад пользователемwww.tolstykh.com
1 проф. В.К.Толстых, Технологии разработки Internet- приложений Архитектура и администрирование IIS 7 исполняющая среда ASP.NET в IIS 7, администрирование, конфигурирование IIS 7 (архитектура, администрирование IIS 5, IIS 6) архитектураадминистрированиеархитектураадминистрирование Из цикла лекций «Технологии разработки Internet-приложений» для студентов 4-го курса кафедры Компьютерных технологий физического факультета Донецкого национального университета
2 Пул приложений Домен приложения Исполняющая среда ASP.NET в IIS 7 (отличия от IIS5, 6)отличия от IIS5, 6 Собственные модули ASP.NET Ответ HTMLОтвет XML HTTP (ASP.NET, WCF) Svchost.exe Драйвер http.sys WAS Рабочий процесс Домен приложения Пул приложений Рабочий процесс TCP, IPC… (WCF) Web (браузер), WCF клиент Для создания сервис-ориентированных приложений с WCF (Windows Communication Foundation), работающих не только по протоколам глобальных сетей HTTP, но и локальных – TCP, а также – IPC (именованные каналы одного компьютера) и др. добавлен WAS (Windows process Activation Service) для активации сервисов WCF при поступлении к ним запросов от Svchost.exe. Запросы, не связанные с HTTP, не проходят конвейер обработки IIS 7, а направляются непосредственно среде выполнения WCF, которая активируется при помощи WAS и деактивируется через некоторое время, если новые запросы не поступают. Отметим, что классические службы Windows NT запускаются, обычно, во время загрузки всего сервера и работают до его выключения.
3 Консоль администрирования IIS 7
4 Особенности IIS 7 IIS 7.0 разбивает веб-сервер (IIS 6) на небольшое ядро сервера ( Svchost.exe ) и более чем 40 собственных модулей-компонентов (см. рис.) Модули – это ASP.NET компоненты, используемые сервером для обработки запросов вместо aspnet_isapi.dll. Например, для проверки подлинности учетных данных клиентов используются модули проверки подлинности, для управления кэшем – модули кэширования и т. д. Необходимые модули встраиваются непосредственно в HTTP-конвейер обработки запросов, при этом сервер приобретает строго заданную и не избыточную функциональность. Преимущества модульной конструкции – это уменьшение количества возможных направлений атак и размера веб- сервера. Хранилище конфигураций IIS 6 – метабаза заменена на файл конфигурации windows\system32\inetsrv\config\applicationHost.config, в котором содержатся значения по умолчанию глобальных настроек сервера, и на файлы web.config, находящиеся в структуре каталогов приложения. Локальные файлы web.config в IIS 7 инкапсулируют (могут делегировать от applicationHost.config ) требуемую настройку сервера и приложения в структуру каталогов приложения. Это существенно упрощает развертывание, которое сводится просто к копированию приложения в каталог на целевом сервере.
5 Пример web.config настроек IIS Система конфигурации позволяет настраивать приложения путем делегирования разделов из applicationHost.config в Web.config. По умолчанию разделы конфигурации IIS заблокированы и могут быть настроены только в applicationHost.config за исключением разделов: Документ по умолчанию, Просмотр каталога, Протокол HTTP, Перенаправление HTTP. При необходимости можно разблокировать дополнительные разделы конфигурации через диспетчер IIS Объекты конфигурации: веб-сервер, узел (сайт), приложение, виртуальный или физический каталог, файл. Параметры приложения Параметры делегирования Параметры настройки CLR.NET Framework Настройки реализуются через модуль IIS – Configuration Editor
6 Компоненты конвейера обработки запросов IIS 7 (см. подробнее Модель процесса ASP.NET, конвейер HTTP.ppt) включают в себя:Модель процесса ASP.NET, конвейер HTTP.ppt пулы приложений, модули ASP.NET – компоненты сервера, фильтры ISAPI, обработчики для файлов.asp,.aspx… пользовательские обработчики в файлах.asp,.aspx… Элементы конвейера НТТP в IIS 7 IIS_IUSRS – группа, члены которой могут запускать рабочий процесс в IIS 7 с минимальными правами. IUSR – учётная запись для анонимного доступа к Web-сайтам в IIS 7. NetworkService – учётная запись от имени которой выполняются рабочие процессы ASP.NET в IIS 7 а также все приложения и системные процессы, запущенные рабочим процессом. Рабочие процессы можно запускать и от других учётных записей с использованием олицетворения (имперсонализации).олицетворения (имперсонализации) Основные учётные записи в IIS 7
7 Пулы приложений в IIS 7 работают в одном из двух режимов: встроенный (интегрированный) и классический (ISAPI). Если приложение запущено в пуле, работающем во встроенном режиме, то веб-сервер применяет интегрированные конвейеры IIS + ASP.NET, т. е. всем сервером и запросами к нему можно управлять из ASP.NET. Если приложение запущено в пуле c классическим режимом, то веб-сервер направляет запросы через aspnet_isapi.dll, т.е. обрабатывает их аналогично IIS 6.0. «Основные настройки» Пулы IIS 7 Три приложения работают в пуле по умолчанию: корень сервера, people, script Пулы работают от имени NetworkService
8 Модули в IIS 7 Модули делятся на три типа: собственные (машинные), управляемые (управляются средой.NET Framework, см. Модули HTTP, события приложения - Global.asax.ppt ) и неуправляемые (приложения Win32 для IIS 5, 6, которые не управляются средой.NET Framework).Модули HTTP, события приложения - Global.asax.ppt Собственные модули – это собственный код библиотек DLL веб-сервера, который выполняет специфическую работу по обслуживанию запросов. Например, WindowsAuthModule выполняет интегрированную проверку подлинности Windows с использованием NTLM. Модуль управляемого кода можно задать как файл класса в папке App_Code приложения. Также можно создать модуль как проект библиотеки классов, скомпилировать его и добавить в папку Bin приложения. Эти модули могут выполнять работу по обработке запроса параллельно с собственными модулями. Управляемые модули позволяют создавать уникальные серверы и управлять их работой. Например, можно реализовать проверку подлинности с помощью форм не только с содержимым ASP.NET, но и другими типами, например, PHP. Модули, зарегистрированные в элементе globalModules файла ApplicationHost.config, обладают глобальной областью действия для всех веб-приложений. Если глобальный модуль в веб-приложениях не используется, его можно отключить через диспетчер IIS. Фильтры ISAPI в IIS 7 Фильтры ISAPI – это программы, которые можно добавить в IIS для улучшения работы веб-сервера. В службах IIS 7 модули и обработчики событий в Global.asax заменяют функциональные возможности, которые обеспечивали фильтры ISAPI в службах IIS 6.0. Однако все еще можно добавлять фильтры ISAPI, если необходимо использовать предоставляемые ими функциональные возможности.
9 Обработчики запросов в IIS 7 В службах IIS 7 обработчики формируют ответы на запросы к узлам и приложениям. Как и модули, обработчики внедряются как собственный или как управляемый код. При наличии определенного типа содержимого на узле или в приложении необходимо иметь обработчик, который сможет обработать запрос к этому типу содержимого. Следует сопоставить этот обработчик с типом содержимого. Например, обработчик страниц ASP реализован в модуле IsapiModule и по умолчанию включён (колонка «Состояние» на рисунке) в службы IIS 7. Он сопоставляется (колонка «Путь» на рисунке) со всеми запросами к.asp -файлам. Для внедрения неуправляемых кодов обработчиков CGI и ISAPI версий IIS 5,6 необходимо (см. следующие слайды) сначала в заданных каталогах приложения включить собственные модули IIS 7: CGI-exe, ISAPI-dll для поддержки неуправляемых кодов. Далее можно добавить и включить выполнение файлов неуправляемых обработчиков. Установка модуля FastCGI позволяет подключать CGI-обработчики PHP, Perl, Python… Модуль FastCGI допускает повторное использование процесса благодаря поддержке пула рабочих процессов, таким образом обеспечивая значительно большую производительность. Скопировать и настроить модуль PHP для IIS 7 можно, например, по адресу ru/magazine/cc aspx. ru/magazine/cc aspx Модули Файлы сопоставления
10 Запуск приложений в IIS 7 (В IIS 5, 6 – это «Разрешён запуск» - «Сценарии и исполняемые файлы») Включить модуль IsapiModule (файл isapi.dll) для подключения собственных обработчиков.dll Включить разрешение выполнения для этого модуля Шаг 1 – создать в консоли IIS приложение или виртуальный каталог для хостинга неуправляемого (не.NET) CGI-ISAPI обработчика запросов. Шаг 2 – в созданном приложении при помощи «Сопоставления обработчиков» разрешить управляемым модулям CgiModule и IsapiModule исполнять неуправляемые CGI и ISAPI
11 Шаг 3 – добавить ISAPI-обработчик – «Добавить сопоставление сценария» Допустимые типы файлов для собственных обработчиков, например, *.dll Адрес собственного обработчика
12 Итог – запись в «Ограничениях ISAPI и CGI» компьютера и фиксация настроек приложения в его файле конфигурации web.config Можно проверить добавление обработчика в ограничениях ISAPI и CGI вашего компьютера
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.