Новое в IIS 7.0

Вместе с выходом Windows Server 2008 администраторы получили в свое распоряжение не только новую версию ОС, но и целый комплект приложений и сервисов. Обновленый IIS теперь с уже номером 7, стал больше чем веб-сервер.
IIS (Internet Information Services) многие администраторы откровенно недолюбливают. По нескольким причинам. Основаня из них наличие в предыдущих версиях ошибок, хотя в IIS 6.0 особых проблем с безопасностью уже не было. Но IIS все равно пользуется популярностью, и в первую очередь благодаря тому, что входит в комплект самой операционной системы. Поэтому его очень просто установить и легко интегрировать в среду Windows. По данным Netcraft (
http://www.netcraft.com/
) IIS используется на 37% Интернет сайтах, что согласитесь не мало. Конкурент Apache обошел его на 10%, но в последнее время наметилась тенденция к сокращению этого разрыва. В списке компаний входящих в рейтинг Fortune 1000 IIS доминирует над Apache с показателем 55% и 24.9% соответственно.
Дизайн IIS 7.0 существенно переработан. Можно даже сказать, что перед нами существенно новый продукт содержащий большое число новинок, которые будут интересны для специалистов разного рода деятельности. Появление новой версии этого веб-сервера является весьма сильным аргументом, говорящим в пользу перехода на Windows 2008. Официальную информацию об изменениях во внутренностях новинки можно просмотреть на сайте Microsoft. Я предлагаю сосредоточиться на инструментах, с которыми в первую очередь придется столкнуться администратору. Ведь новичка принято встречать по одежке.

Установка и модули

Многие моменты в установке и настройке IIS 7.0 упрощены и стали более прозрачными, возможно этим удастся избежать проблем с неправильной настройкой веб-сервера. В целях безопасности IIS 6.0 по умолчанию не устанавливался, с IIS 7.0 поступили точно так же. Процесс его инсталляции изменился и стал даже проще. Теперь это одна из ролей, которую можно установить как при помощи “Initial Configuration Tasks”, который появляется при загрузке системы или через диспетчер сервера (Server Manager). Нажимаем Add Role появляется мастер Add Roles Wizard, который за 4 шага поможет установить нужный компонент.

Установка Windows Process Activation Service

Установка Windows Process Activation Service


После выбора Web Server IIS, будут проанализированны уже имеющиеся сервисы и компоненты (features) и в случае необходимости будет выдан запрос на установку недостающих.
Выбор модулей IIS в процессе установки

Выбор модулей IIS в процессе установки


В IIS 7.0 концепция пулов приложений использованная в IIS 6.0 расширена за счет использования компонента NET Framework 3.0 Windows Process Activation Service (WAS). WAS делает доступным пул приложений не только для HTTP, но и для других протоколов. Также он на себя берет управление настройками для сайтов и приложений, а также и поддержку жизненного цикла процессов, запуская и останавливая их по мере необходимости и контролируя их работу.
Кстати динамический запуск и остановка приложений это одна из новинок Windows Server 2008, обеспечивающая более эффективное использование системных ресурсов. Если компонент WAS еще не установлен, он будет указан в качестве одной из зависимостей вместе со своими составляющими: Process Model, Configuration API и .NET Environment.
В IIS реализован тот же подход, что в самой Windows 2008. Администратор устанавливает лишь минимальный набор, а уже затем добавляет действительно необходимые в работе функции, хотя соглашусь, что это уже требует некоторой подготовки. Сам Windows функционально состоит из ролей и компонентов, которые также не являются неделимыми, а разбиты на модули. В терминологии Windows такие модули называются службы ролей (Role Services). Большая часть ролей состоят из нескольких Role Services. Модульная структура призвана уменьшить число возможных уязвимостей, а также количество обновлений, так как не установленные и не используемые компоненты обновляться не будут. Администратор по сравнению с IIS 6.0, теперь получает больший контроль на веб-сервером. В поставке IIS имеются 40 Role Services, каждый из которых устанавливается независимо. По умолчанию выбрано 9 из них, которые обеспечивают только основные функции HTTP, статическое содержимое и его сжатие, ведение журнала, монитор и фильтрацию запросов. Плюс будет установлена консоль управления IIS (IIS Manager).
Консоль управления IIS Manager

Консоль управления IIS Manager


Для удобства выбора Role Services разделенны на 8 подкатегорий. Среди категорий особое внимание хотелось бы обратить на IIS 6.0 Management Compatibility (Совместимость метабазы IIS 6), отвечающий за совместимость по API с предыдущей версией веб-сервера. Например, при установке Microsoft Exchange Server 2007 активация этого пункта обязательна. Дополнительный модуль FastCGI обеспечивает быструю обработку Perl, PHP, Ruby и других web-технологий, позволяя обслуживать большее число пользователей.
Используя диспетчер сервера в любой момент можно очень просто удалить или добавить нужный Role Services. При выборе некоторых Role Services могут также быть запрошены дополнительные компоненты.
При работе в Server Core в IIS доступны не все Role Services. В минимальной конфигурации IIS устанавливается одной командой:

> Pkgmngr.exe /iu:IIS-WebServerRole;WAS-WindowsActivationService;WAS-ProcessModel

Как вариант можно использовать командный или XML файл. В дальнейшем управлять его работой можно при помощи утилиты appcmd.exe. Последняя имеет большое количество параметров, чтобы просмотреть полный их список достаточно ввести “appcmd /?”. Также в IIS 7.0 добавлен новый интерфейс API — Microsoft.Web.Administration и новый поставщик WMI, которые предоставляют большое поле деятельности для создания автоматизации управления путем создания сценариев и средств для управления IIS. Настройку IIS также можно произвести путем непосредственного редактирования .config файлов.

Файлы настроек

В IIS 7.0 по сравнению с предыдущей версией используются простые и понятные файлы .config в формате XML, располагающиеся в тех же файлах используемых системой настройки ASP.NET. Параметры сервера и параметры веб-узла хранятся отдельно. В Apache подобная схема реализована давно и мне кажется более прозрачной и удобной. Первые хранятся в файле applicationHost.config, который находится в %systemroot%\windows\system32\inetsrv\config. Здесь указаны параметры всех установленных модулей, узлов, пулов приложений, безопасности и прочее. В этом же каталоге имеется файл administration.config в котором регистрируются модули и некоторые другие связанные настройки. Параметры отдельных веб-узлов хранятся в файлах web.config, для каждого узла на сервере существует свой web.config. В них находится описание документа по умолчанию, параметры приложений и ASP.NET.
Система настроек независит от компьютера и теперь без проблем все настройки можно производить на тестовой системе, а затем после тестирования достаточно скопировать .config файлы на рабочие сервера. Для удобства переноса поддерживаются переменные, и если на серверах установлен один и тот же набор модулей проблем с работой быть не должно. Причем переносимость конфигурационных файлов позволяет использовать один .config файл на всех узлах фермы. Такая функция получила название Shared Configuration. После создания такого файла администратор его экспортирует, во избежание попытки его подделки следует ввести пароль ключа шифрования. Для включения на другом сервере достаточно выбрать одноименный пункт, активировать флажок «Enable shared configuration», указать путь к файлу настроек, ввести необходимые для доступа учетные данные и пароль шифрования.

Консоль управления IIS

После установки IIS получает свою вкладку в Server Manager, где доступны настройки модулей и вывод связанных событий. В поле Resources and Support показаны основные рекомендации по эфективной настройке IIS. Но основные настройки производятся в консоли управления IIS Manager. Интерфейс последнего существенно переработан, и главное он стал на порядок проще и понятнее в использовании, что учитывая большее количество функций доступных в IIS 7.0 не может не радовать. IIS Manager не является оснасткой MMC. Поддерживается подключение к удаленным серверам по протоколу НТТР или HTTPS, без использования внутренних протоколов Windows. Для подключения к серверу, сайту или приложению достаточно перейти в Start Page и выбрать нужную задачу в поле Connection Task. Запустится простой мастер подключения, который поможет произвести все нужные действия. Естественно в целях безопасности такие соединения можно ограничить или полностью блокировать.
Интерфейс IIS Manager выполнен в том же стиле, что и Server Manager и визуально разделен на три части. В левой панели выводятся все веб-серверы к которым он подключен, сайты и пулы приложений отображаются в виде раскрывающегося дерева. Выбор любого пункта приведет к появлению специфических для него настроек в рабочей области в центре и задач в правом. В рабочей области доступны все функции управления IIS которые в ранней версии были распределены по разным вкладкам, теперь искать ничего не нужно, каждый имеет понятный значок, поэтому разобраться в доступных функциях просто. Так как консоль является приложением WinForm его возможности легко расширить добавив сторонние модули. В этом же окне же находятся параметры настройки для ASP.NET, что избавляет от необходимости использовать дополнительные инструменты, а также функции делегирования управления. Последняя функция весьма удобна и востребована, так как позволяет снизить нагрузку на персонал, передав часть полномочий непосредственно владельцу сайта.
Кроме настроек консоль IIS позволяет быстро разрешать проблемы с веб-узлами и приложениями, выводя всю возможную диагностическую информацию в реальном начиная с момента получения сервером запроса и его прохождения по всем элементам.
Выбрав пункт Worker Processes можно получить данные о том, как долго выполняется запрос, приложение его выполняющееся, загрузку процессора. Дважды щелкнув по интересующему событию, администратор может получить более подробную информацию (URL, IP-адрес клиента, состояние, название модуля и время). Выбрав Logging можно настроить параметры ведения журнала, в который включить любое интересное событие, которое может заинтересовать администратора в случае возникновения сбоев. Если установлен модуль Tracing, администратор может активировать трасировку любых событий. При необходимости для URL можно сконфигурировать обработчики, которые будут собирать данные попадающие под определенный критерий. Диагностикой кроме консоли IIS можно управлять при помощи appcmd и через WMI.
Кроме настроек при помощи консоли можно быстро получить доступ к содержимому конкретного сайта и при необходимости выполнить с ним определенные действия (установить разрешения, виртуальный каталог, произвести откат к предыдущей версии файла и другие установки). При наличии большого количества серверов и сайтов это очень удобно.
***
Дополнительную информацию о IIS можно получить на сайте, посвященном IIS 7.0 (
http://www.iis.net/
), где доступны и дополнительные инструменты вроде варианта IIS Manager, который используется для удаленного управления IIS с компьютеров работающих под ранними версиями Windows XP/2003 и Vista, IIS7 Administration Pack и других.
Перед нами совершенно другой продукт с новой архитектурой и возможностями, сочетающий большую функциональность, с гибкостью и понятностью в настройке. Модульность позволяет оптимально настроить и обезопасить систему. Администратор получил в свое распоряжение целый комплект необходимых в работе инструментов. А сможет ли он обойти Apache, поможет ли занять лидирующее положение. Покажет время.

Теги: ,

Понравилась статья? Оставьте комментарий или подпишитесь на RSS рассылку.

Комментарии

Комментариев пока что нет

Оставить комментарий

(required)

(required)