Внедрение, управление и поддержка сетевой инфраструктуры MS Windows Server 2003

Internet Information Services 6 (IIS 6)

Показывать лекцию целиком

Если вы планируете использовать Windows Server 2003 для хостинга веб-сайтов и динамических веб-приложений, то обнаружите, что внесены некоторые существенные изменения в Internet Information Services (IIS) на этой новой платформе. Версия 6 IIS улучшена в компонентах, касающихся безопасности, надежности, масштабируемости, управляемости и производительности. Важно, чтобы вы знали об этих изменениях, если хотите по-настоящему использовать возможности новой версии. Описание IIS дается в приложении, поскольку IIS в Windows Server 2003 является обычно дополнительным компонентом, который не устанавливается по умолчанию. Исключением является версия Web Edition, в которой IIS и многие зависимые компоненты этой службы устанавливаются по умолчанию. Web Edition - это специализированный продукт, который доступен только путем предустановки через каналы OEM (от изготовителей комплексного оборудования), поэтому мы рассмотрим здесь версии Standard Edition и Enterprise Edition Windows Server 2003.

  • Сбой приложения с низкой защитой мог вызвать "зависание" inetinfo.exe, что могло приводить к отказу веб-сервера в целом.
  • Приложения с высокой защитой требовали большого объема дополнительной информации и имели низкую производительность по сравнению с приложениями, включенными в пул.
  • Поддерживался только один пул приложений, ограничивая масштабируемость сервера для хостинга веб-приложений.
  • Ввиду этих ограничений архитектура в IIS 6 была переработана, чтобы все приложения выполнялись в виде пула процессов с поддержкой нескольких пулов вместо одного. Это означает, что разработанный пользователем код не выполняется в виде отдельного процесса, поэтому сбойные приложения больше не вызывают отказа всего сервера. Давайте рассмотрим, как это происходит.

    Режимы изоляции

    IIS 6 имеет двойственную архитектуру, которая может действовать в одном из двух режимов.

  • Режим изоляции IIS 5.Этот режим эмулирует IIS 5, чтобы приложения, разработанные для прежней платформы (Windows 2000 Server) можно было выполнять без проблем в Windows Server 2003.
  • Режим изоляции рабочих процессов (worker process isolation mode).Этот режим поддерживает все улучшения в архитектуре IIS 6, включая пулы приложений, веб-сады (web garden), мониторинг состояния (health monitoring), повторяемый запуск рабочего процесса (worker process recycling) и родственность процессоров (processor affinity).
  • Если выполнить установку Windows Server 2003 "с нуля" и затем установить компоненты IIS 6, то ваш сервер будет работать в режиме изоляции рабочих процессов. В случае модернизации машины Windows Server 2003, где работала IIS 5, ваш сервер будет работать в режиме изоляции IIS 5. Если вы решили выполнить модернизацию, проверьте свои приложения после этой модернизации; если они работают должным образом, перейдите на режим изоляции рабочих процессов, чтобы можно было использовать новые средства, доступные в этом режиме.

    Пулы приложений

    В IIS 5 приложения запускались по умолчанию на среднем уровне защиты [Medium (Pooled)] внутри хост-процесса с именем svchost.exe. В режиме изоляции рабочих процессов IIS 6 приложения группируются в несколько пулов, которые называются пулами приложений, причем каждый пул приложений обслуживается одним или несколькими рабочими процессами (worker processes) - экземплярами w3wp.exe. Каждый пул приложений можно конфигурировать отдельно, и приложения можно перемещать из одного пула в другой. Это дает повышение надежности, поскольку отказавшее приложение может влиять только на приложения своего пула, но не приложения других пулов.

    Очереди запросов в режиме ядра

    Чтобы повысить производительность IIS, обработка запросов HTTP перенесена в новый компонент режима ядра, HTTP Listener (http.sys), который находится в стеке TCP/IP данного сервера. Поступающие запросы помещаются в очередь для обработки, причем каждый пул приложений имеет свою собственную отдельную очередь. Это повышает надежность IIS, поскольку поступающие запросы остаются в очереди даже в случае отказа одного из приложений. После возврата этого приложения в работу запросы продолжают извлекаться из очереди, и ничего не теряется.

    Примечание. Ведение журналов IIS теперь выполняется на уровне ядра, с использованием http.sys для повышения производительности.

    Веб-сады

    Еще одним нововведением в IIS 6 является поддержка так называемых веб-садов (web garden). Веб-сад - это пул приложений, обслуживаемый несколькими рабочими процессами, между которыми распределяется нагрузка, и которые обеспечивают отказоустойчивость в случае непредусмотренного прекращения одного процесса. Веб-сады повышают также степень масштабируемости IIS 6, позволяя одному серверу одновременно содержать тысячи приложений и делая IIS 6 превосходной платформой для сред поставщиков услуг.

    Повторяемый запуск рабочего процесса

    Приложения иногда содержат сбойный код, который вызывают утечки памяти и другие состояния ошибок. Чтобы продолжать выполнение приложений, для более ранних версий IIS приходилось периодически выполнять перезагрузку; в IIS 6 удалось устранить это требование с помощью нового средства - повторяемого запуска рабочего процесса (worker process recycling). Администраторы могут задать, чтобы рабочий процесс, обслуживающий неисправное приложение, периодически перезапускался для снятия утечек памяти, чтобы они не доходили до критического уровня, приводящего к прекращению работы этого приложения. Средство повторяемого запуска можно также сконфигурировать для запуска нового рабочего процесса, прежде чем будет прекращен старый процесс; это средство называют перекрывающимся повторяемым запуском (overlapped recycling), что гарантирует непрерывность обслуживания с точки зрения клиента.

    Запуск по требованию и тайм-аут простоя

    Для экономии полезных ресурсов процессора и памяти в IIS 6 реализован запуск по требованию. С помощью этого средства рабочий процесс, связанный с определенным пулом приложений, не запускается, пока приложение не получит первый запрос HTTP. В IIS 6 поддерживается также тайм-аут простоя (idle time out), то есть средство, которое закрывает простаивающие рабочие процессы после заданного временного интервала (тайм-аута), освобождая неиспользуемые ресурсы для использования другими процессами.

    Мониторинг состояния, работа с неотвечающим процессом и защита от частых сбоев

    Рабочие процессы управляются службой веб-администрирования WAS (Web Administration Service) - новым средством IIS 6, которое реализуется как компонент службы WWW Service. В дополнение к повторяемому запуску рабочих процессов служба WAS периодически опрашивает (с помощью команды ping) рабочие процессы для мониторинга их состояния. Если рабочий процесс блокирован и не может ответить, служба WAS прекращает этот процесс и запускает новый процесс для его замены. Альтернативно службу WAS можно сконфигурировать таким образом, чтобы оставлять работающим неотвечающий процесс, пока WAS запускает его замену.

    Это полезно в сценариях разработки, когда к неотвечающему процессу может быть подсоединен отладчик, чтобы определить источник неисправности. Если приложение настолько неисправно, что рабочий процесс неоднократно зависает, то можно использовать средство, которое называется защитой от частых сбоев (rapid fail protection), чтобы вывести соответствующий пул приложений из эксплуатации, пока не будет разрешена проблема.

    Родственность процессоров

    Дополнительной возможностью в IIS 6 является расширенная поддержка платформ оборудования симметричной мультипроцессорной обработки (SMP). Используя родственность процессоров (processor affinity), отдельные рабочие процессы могут назначаться конкретным центральным процессорам (ЦП) для повышения производительности больших критически важных приложений.

    Метабаза XML

    Формат метабазы, то есть файла, содержащего информацию о конфигурации IIS, можно изменять в IIS 6 с двоичного формата, который использовался в более ранних версиях, на текстовый XML-файл. Это делает метабазу более удобной для редактирования (можно использовать простой текстовый редактор, например, Notepad) и позволяет быстрее перезапускать IIS. В метабазу также включены следующие новые возможности.

  • Редактирование во время работы.Возможность прямого редактирования метабазы во время работы IIS.
  • Журнал изменений метабазы.Средство, которое отслеживает все изменения, внесенные в метабазу, и упрощает восстановление IIS, если вы допустили ошибки в конфигурации.
  • Независимая от сервера резервная копия.Создавая защищенную паролем резервную копию метабазы, вы можете копировать всю конфигурацию IIS на другую машину, что позволяет вам легко клонировать конфигурации IIS для более быстрого развертывания.
  • Более высокий уровень безопасности

    Более высокий уровень безопасности - это второе по значимости улучшение в IIS 6 по сравнению с предыдущими версиями. IIS теперь не устанавливается по умолчанию при установке "с нуля" операционной системы; когда вы устанавливаете IIS, она конфигурируется в блокированном состоянии, позволяющем обслуживать только статическое содержимое. Прежде чем приступить к обслуживанию динамического содержимого клиентов, вы должны активизировать такие средства, как ASP, ASP.NET, CGI и ISAPI, позволяющие запускать веб-приложения. Это означает, что вы можете активизировать именно те компоненты, которые вам требуются, и оставить отключенными остальные компоненты, что является огромным улучшением в безопасности для данной платформы. Возможности для динамического содержимого активизируются и отключаются с помощью нового узла Web Service Extensions (WSE) в оснастке IIS Manager, которую мы вскоре рассмотрим.

    Другие улучшения в безопасности

    Новая платформа содержит также другие улучшения в безопасности.

  • Имя NetworkService с низкими привилегиями используется как контекст безопасности по умолчанию, в котором запускаются рабочие процессы, - в отличие от учетной записи LocalSystem с высокими привилегиями, используемой процессом svchost.exe в IIS 5.
  • Учетную запись, под которой выполняются рабочие процессы, можно конфигурировать вручную, что позволяет администраторам использовать отдельные контексты безопасности для различных пулов приложений, чтобы обеспечивать более высокие уровни безопасности и надежности.
  • Включена поддержка для двух новых методов аутентификации: расширенная digest-аутентификация, которая действует через брандмауэры и прокси-серверы, и аутентификация .NET Passport, которая позволяет пользователям использовать службу Passport как единственную службу входа для веб-услуг, выполняемых в IIS.
  • Запросы файлов с неизвестными расширениями имен теперь отклоняются по умолчанию, хотя для работы с такими расширениями можно использовать символы подстановки.
  • Анонимные пользователи теперь не могут запускать исполняемые файлы, находящиеся в системной папке, такие как cmd.exe.
  • По умолчанию анонимным пользователям запрещается доступ по записи к веб-содержимому (для учетной записи IUSR_имя-компьютера заданы полномочия Deny Write).
  • Можно использовать Group Policy, чтобы запрещать пользователям установку IIS на машинах, к которым они имеют доступ.
  • Повышение управляемости

    В дополнение к консоли IIS Manager в меню Administrative Tools имеется также ряд других способов эффективного управления машинами IIS 6.

  • Remote Desktop (Удаленный рабочий стол).Известное раньше на платформе Windows 2000 Server под названием Terminal Services в режиме Remote Administration Mode, это средство устанавливается по умолчанию в Windows Server 2003 и его можно активизировать с помощью одного флажка во вкладке Remote утилиты System, вызываемой из панели управления (Control Panel). Remote Desktop рассматривается в лекции. 3 курса "Внедрение, управление и поддержка сетевой инфраструктуры MS Windows Server 2003".
  • WISA (Web Interface for Server Administration - Веб-интерфейс для администрирования сервера).Установив компонент IIS 6 Remote Administration (HTML), вы можете использовать веб-браузер, например, Internet Explorer, для администрирования многих аспектов IIS (и некоторых общих аспектов Windows Server 2003) из удаленных точек. WISA реализован как ASP-приложение и устанавливается по умолчанию в версии Web Edition.
  • WMI (Windows Management Instrumentation).В IIS 6 включен встроенный провайдер WMI, который позволяет вам писать скрипты для управления большинством аспектов IIS из командной строки. Ряд таких скриптов включен вместе с IIS 6 в папку \system32 и может быть использован для создания веб-сайтов и FTP-сайтов, создания виртуальных папок, включения и отключения расширений веб-служб, создания резервных копий метабазы и т.д. Вы можете запускать эти скрипты в сеансе командной строки на машине с IIS, с удаленной машины с помощью Remote Desktop или с помощью службы Telnet.
  • Рассмотрим выполнение некоторых базовых административных задач в IIS 6 и реализацию многих новых средств, поддерживаемых этой платформой.

    Установка IIS

    Самый простой способ установки IIS - это использование страницы Manage Your Server (Управление вашим сервером), которая автоматически открывается, когда вы загружаете свой компьютер. Если эта страница не открыта, то вы можете открыть ее и установить IIS, добавив роль сервера приложений (Application Server). Чтобы добавить роль Application Server, выполните следующие шаги.

  • Установите CD с продуктом Windows Server 2003 в накопитель CD-ROM, чтобы получить доступ к файлам программы установки (Setup).
  • Щелкните на кнопке Start (Пуск) и выберите пункт Manage Your Server вверху меню Start.
  • Щелкните на ссылке Add or Remove a Role (Добавить или удалить роль), чтобы открыть мастер конфигурирования вашего сервера Configure Your Server Wizard.
  • Щелкните на кнопке Next, чтобы проверить сетевое соединение.
  • Выберите в списке доступных ролей Application Server (IIS, ASP.NET) и щелкните на кнопке Next.
  • Выберите необязательные компоненты IIS (например, ASP.NET или FrontPage Server Extensions), которые тоже хотите установить.
  • Щелкните на кнопке Next, чтобы увидеть сводку компонентов, которые вы готовы установить.
  • Щелкните на кнопке Next, чтобы установить и сконфигурировать IIS на вашей машине.
  • Управление IIS

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

  • Щелкните на ссылке Manage This Application Server (Управление этим сервером приложений) в окне Manage Your Server, после чего появится консоль Application Server, содержащая оснастки для .NET Framework 1.1 Configuration, Internet Information Services (IIS) Manager и Component Services.
  • Выберите Internet Information Services (IIS) Manager из меню Administrative Tools, чтобы сразу открыть консоль IIS Manager.
  • Для выполнения остальных задач, рассматриваемых в этом приложении, мы будем использовать второй способ и будем также предполагать, что оснастка IIS Manager (см. рис.A.1) уже открыта.

    (рис A.1) Консоль Internet Information Services (IIS) Manager

    Активизация расширений веб-служб

    По умолчанию, когда вы устанавливаете IIS, она может обслуживать только статическое содержимое клиентов. Если вы планируете хостинг динамического содержимого, такого как приложения Active Server Pages (ASP-приложения), то должны активизировать соответствующие DLL для поддержки этого содержимого. Например, чтобы активизировать ASP-расширение, позволяющее вам размещать и запускать ASP-приложения на вашем сервере, выполните следующие шаги.

  • Выберите узел Web Service Extensions (Расширения веб-служб) под узлом сервера IIS (см. рис A.2(рис A.2) Активизация расширений веб-служб для динамического содержимого
  • Во вкладке Extended выберите в списке расширение Active Server Pages.
  • Щелкните на Allow (Разрешить).
  • Создание веб-сайта

    Вы можете использовать Default Web Site для хостинга приложений ASP или ASP.NET, но обычно лучше создавать для этих приложений новые веб-сайты. (Зарезервируйте Default Web Site, который следит за все обращениями с неназначенных IP-адре-сов, для хостинга страницы типа sample under construction [пример разрабатываемой страницы], в которой выводится логотип компании и контактная информация.) Прежде чем создавать новые сайты, убедитесь, что вы назначили все необходимые дополнительные IP-адреса вашему серверу (если вы не планируете использовать имена заголовка хоста, чтобы идентифицировать ваши веб-сайты для клиентов).

    Чтобы создать новый веб-сайт с помощью IIS Manager, выполните следующие шаги.

  • Щелкните правой кнопкой на узле Web Sites и выберите New/Web Site (Создать/ Веб-сайт).
  • Щелкните на кнопке Next в открывшемся окне мастера создания веб-сайта Web Site Creation Wizard.
  • В поле Description (Описание) выберите описательное имя, например, Sample Web Site, и щелкните на кнопке Next.
  • Выберите уникальный IP-адрес для этого сайта или укажите имя для заголовка хоста и щелкните на кнопке Next.
  • Выберите папку содержимого для этого сайта или создайте новую папку. Если вы не хотите, чтобы анонимные пользователи имели доступ к вашему сайту, сбросьте соответствующий флажок. Затем щелкните на кнопке Next.
  • Задайте веб-полномочия для этого сайта. По умолчанию разрешены полномочия Read (Чтение) и Run Scripts (Запуск скриптов) и запрещены все остальные полномочия. Отметим, что веб-полномочия отличаются от полномочий NTFS и применяются в равной степени ко всем клиентам, которые выполняют доступ к данному сайту (не забудьте сконфигурировать затем нужные полномочия NTFS по папке содержимого, чтобы защитить содержимое вашего сайта).
  • Щелкните на кнопке Next и затем на кнопке Finish.
  • Новый созданный сайт будет теперь представлен в IIS Manager (см. рис. A.3). Ниже мы добавим содержимое к вашему сайту.

    (рис A.3) Новый веб-сайт с именем Sample Web Site (Пример веб-сайта)Примечание. Вы можете также создать новый сайт с помощью скрипта iisweb.vbs, который находится в папке \system32.

    Конфигурирование веб-сайта

    После создания вашего сайта вы можете сконфигурировать его, открыв страницу его свойств. Щелкните правой кнопкой на узле для этого сайта и выберите пункт Properties (рис. A.4). Затем используйте следующие вкладки этой страницы, чтобы задать учетную запись (identity) для этого сайта, пределы соединений, ведение журнала, регулирование пропускной способности, домашнюю папку, веб-полномочия, настройки приложения, документы по умолчанию, методы аутентификации, ограничения по IP-адресам, нестандартные сообщения об ошибках и т.д. Более подробное описание различных опций конфигурирования веб-сайтов см. в книге " IIS 6 Администрирование ", М.: ЭКОМ, 2004.

    (рис A.4) Конфигурирование веб-сайта

    Создание приложения

    Создадим простое ASP-приложение, выполняющее действия, которые мы можем проверить, например, вывод текущего времени на сервере. Это делает следующий скрипт.

    <html> <head> <title>Sample ASP Application</title>
    </head>
    <body>
    <%
    Dim strMessage
    strMessage = "Sample ASP Application"
    Response.Write (strMessage)
    Response.Write ("<hr>")
    Response.Write ("The time is "  Time())
    %>
    </body>
    </html>

    Введите этот сценарий в Notepad и сохраните его под именем default.asp в домашней папке, которую вы задали для своего нового веб-сайта. Обновите его представление в IIS Manager, нажав клавишу F5, щелкните правой кнопкой на узле Sample Web и затем выберите пункт Browse, чтобы проверить, работает ли это приложение (см. рис. A.5).

    (рис A.5) Тестирование примера ASP-приложения

    По умолчанию IIS конфигурирует это новое приложение под тем же именем - Default Application, поэтому давайте изменим его.

  • Щелкните правой кнопкой на узле Sample Web Site и выберите пункт Properties.
  • Перейдите во вкладку Home Directory (Домашняя папка).
  • Удалите имя Default Application и замените его на Sample Application. Затем щелкните на кнопке Apply (Применить).
  • Теперь у нас есть ASP-приложение с именем Sample Application, точкой запуска которого является корневая папка сайта Sample Web Site (см. рис. A.6).

    Создание пула приложений

    Изолируем новое приложение, поместив его в отдельный пул приложений. Если IIS работает в режиме изоляции рабочих процессов (worker process isolation mode), то имеется пул приложений по умолчанию с именем DefaultAppPool. Если выбрать этот пул в оснастке IIS Manager, то мы увидим, что в нем выполняются два приложения (см. рис. A.7).

    (рис A.6) Настройки приложения для Sample Web Site(рис A.7) Приложения, запускаемые в пуле приложений по умолчанию
  • Default Application, точкой запуска которого является корневая папка сайта Default Web Site.
  • Новое приложение Sample Application, точкой запуска которого является корневая папка сайта Sample Web Site.
  • Чтобы создать новый пул приложений с именем Second Pool (Второй пул), выполните следующие шаги.

  • Щелкните правой кнопкой на узле Application Pools (Пулы приложений) и выберите New/Application Pool (Создать/Пул приложений).
  • Введите Second Pool как идентификатор для нового пула. По умолчанию для пула назначаются обобщенные настройки, которые вы можете сконфигурировать позже (или можете выбрать вместо этого наследование настроек существующего пула, например, DefaultAppPool).
  • Щелкните на кнопке OK. Будет создан новый пул, который появится под узлом Application Pools в оснастке IIS Manager.
  • Теперь переместим приложение Sample Application в пул Second Pool.

  • Щелкните правой кнопкой на узле Sample Web Site и выберите пункт Properties.
  • Перейдите во вкладку Home Directory.
  • В поле Application pool измените DefaultAppPool на Second Pool.
  • Щелкните на кнопке OK.
  • Теперь в IIS Manager приложение Sample Application будет показано в пуле Second Pool (см. рис. A.8).

    (рис A.8) Приложения теперь запускаются в различных пулах

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

    Конфигурирование повторяемого запуска рабочих процессов

    Чтобы сконфигурировать повторяемый запуск рабочих процессов (recycling) для всех рабочих процессов, обслуживающих приложения в пуле Second Pool, выполните следующие шаги.

  • Щелкните правой кнопкой на узле Second Pool под узлом Application Pools и выберите пункт Properties.
  • Перейдите во вкладку Recycling (см. рис. A.9).
  • Задайте нужные вам настройки повторяемого запуска рабочих процессов.
  • Отметим, что вы можете инициировать повторяемый запуск рабочих процессов в зависимости от следующих параметров:

  • Временной интервал с момента последнего события повторяемого запуска
  • Количество обслуженных запросов
  • (рис A.9) Конфигурирование повторяемого запуска рабочих процессов
  • Указанные моменты времени
  • При использовании слишком большого количества памяти (утечка памяти)
  • Вы можете также принудительно инициировать повторяемый запуск в любой момент, щелкнув правой кнопкой на пуле приложений и выбрав пункт Recycle.

    Конфигурирование тайм-аута простоя (Idle Timeout)

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

  • Щелкните правой кнопкой на узле Second Pool под узлом Application Pools и выберите пункт Properties.
  • Перейдите во вкладку Performance (Производительность), см. рис. A.10.
  • Задайте нужное значение тайм-аута.
  • По умолчанию рабочие процессы закрываются после простоя в 20 минут, чтобы освобождать ресурсы памяти и процессора данной машины для других приложений.

    Создание веб-сада (Web Garden)

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

    (рис A.10) Конфигурирование тайм-аута простоя и других настроек производительности
  • Щелкните правой кнопкой на узле Second Pool под узлом Application Pools и выберите пункт Properties.
  • Перейдите во вкладку Performance (Производительность), см. снова рис. A.10.
  • В секции Web Garden измените количество рабочих процессов, обслуживающих данный пул.
  • Конфигурирование мониторинга состояния (Health Monitoring)

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

  • Щелкните правой кнопкой на узле Second Pool под узлом Application Pools и выберите пункт Properties.
  • Перейдите во вкладку Health (см. рис. A.11).
  • Установите или сбросьте флажок Enable pinging, чтобы включить или отключить мониторинг состояния для данного пула.
  • Вы можете также использовать вкладку Health, чтобы задать защиту от частых сбоев (rapid fail protection).

    (рис A.11) Конфигурирование мониторинга состояния и защиты от частых сбоев

    Задание учетной записи для пула приложений (вкладка Identity)

    По умолчанию все пулы приложений запускаются в контексте безопасности имени NetworkService, которое имеет очень ограниченные системные права. Вы можете изменить эту настройку для определенного пула, чтобы, например, изолировать этот пул от других пулов из соображений безопасности. Чтобы изменить учетную запись пула приложений для пула Second Pool, выполните следующие шаги.

  • Щелкните правой кнопкой на узле Second Pool под узлом Application Pools и выберите пункт Properties.
  • Перейдите во вкладку Identity (см. рис. A.12).
  • Выберите вариант Configurable (Задаваемые).
  • Задайте опознавательные данные для учетной записи или выберите учетную запись из Active Directory (для домена) или базы данных SAM локальной машины (в условиях рабочей группы).
  • Конфигурирование настроек приложения

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

    (рис A.12) Конфигурирование учетной записи для пула приложений
  • Щелкните правой кнопкой на узле Web Sites или на узле определенного веб-сайта в IIS Manager (чтобы конфигурировать эти настройки для всех приложений или только для одного приложения, связанного с определенным веб-сайтом).
  • Выберите пункт Properties и перейдите во вкладку Home Directory (см. выше рис. A.6).
  • Щелкните на кнопке Configuration, чтобы открыть страницу Application Configuration (Конфигурация приложений), см. рис A.13(рис A.13) Конфигурирование настроек приложений
  • Измените настройки в трех вкладках, как это вам требуется.
  • В остальной части этого приложения будет описано несколько задач, относящихся к метабазе.

    Активизация непосредственного редактирования метабазы

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

  • Щелкните правой кнопкой на узле IIS Manager, представляющем сам сервер.
  • Выберите пункт Properties, чтобы открыть страницу свойств для этого сервера.
  • Установите флажок Enable Direct Metabase Edit (Разрешить непосредственное редактирование метабазы), см. рис A.14(рис A.14) Активизация редактирования-при-выполнении
  • Щелкните на кнопке OK.
  • Вы можете также сделать это из командной строки путем редактирования самой метабазы, но должны использовать при этом команду iisreset для краткой остановки и запуска IIS, что вызовет прерывание обслуживания. Чтобы активизировать редактирование-при-выполнении из командной строки, выполните следующие шаги.

  • Откройте окно командной строки и используйте команду iisreset, чтобы остановить все службы IIS:
    C:\ >iisreset /stop Attempting 
    stop... Internet services successfully stopped
  • Используйте Windows Explorer, чтобы найти файл конфигурации метабазы Metabase.xml в папке \system32\Inetsrv.
  • Щелкните правой кнопкой на файле Metabase.xml и выберите Open With/Notepad (Открыть с помощью/Блокнот).
  • Найдите строку EnableEditWhileRunning="0" и измените ее на EnableEditWhileRunning="1".
  • Сохраните изменения, внесенные в файл Metabase.xml.
  • Вернитесь в командную строку и используйте команду iisreset, чтобы снова запустить IIS:
  • C:\ >iisreset /start Attempting start... Internet services successfully started

    Отметим, что команду iisreset можно также использовать для перезагрузки удаленных машин с IIS из командной строки. Для получения полного синтаксиса этой команды введите iisreset /?.

    Внимание. Только опытным администраторам следует разрешать непосредственное редактирование метабазы, поскольку одна ошибка в XML может воспрепятствовать запуску служб IIS.

    Резервное копирование метабазы

    IIS 6 автоматически создает резервные копии метабазы в форме журнальных файлов (history-файлов), но вам следует также периодически выполнять резервное копирование метабазы вручную, чтобы обеспечить восстановление на случай отказа системы. Отметим, что при резервном копировании метабазы копируется только информация о конфигурации IIS, но не конкретное содержимое веб-сайта. Добротный план восстановления от аварий должен включать в себя резервные копии всех данных вашего сервера, включая его информацию о состоянии системы. Чтобы делать это, используйте утилиту Windows Backup или средство от сторонней компании, например, Backup Exec от компании Veritas.

    При первой установке IIS она автоматически создает резервную копию начальной конфигурации и сохраняет ее в папке \system32\Inetsrv\MetaBack (см. рис. A.15). При необходимости вы сможете использовать эту резервную копию позже для восстановления состояния IIS, в котором она находилась непосредственно после установки. Отметим, что в резервное копирование включаются два файла.

  • Файл конфигурации метабазы ( Metabase.xml ) включается в резервную копию как файл *.MD1.
  • Файл схемы метабазы ( Mbschema.xml ) включается в резервную копию как файл *.SC1.
  • Чтобы выполнить резервное копирование метабазы вручную с помощью IIS Manager, выполните следующие шаги.

    (рис A.15) Файлы резервной копии начальной конфигурации метабазы
  • Щелкните правой кнопкой на узле IIS Manager, представляющем сам сервер.
  • Выберите All Tasks/Backup/Restore Configuration (Все задачи/Резервное копирование/Восстановление конфигурации).
  • Все существующие резервные копии метабазы появятся в диалоговом окне Configuration Backup/Restore (см. рис. A.16), включая:
  • резервные копии начальной конфигурации, которые автоматически создаются, когда вы устанавливаете IIS, и сохраняются в папке \Inetsrv\MetaBack ;
  • любые резервные копии, созданные вами вручную, которые тоже сохраняются в папке \Inetsrv\MetaBack.
  • Файлы журналов метабазы, которые создаются автоматически службой IIS и сохраняются в папке \Inetsrv\History.
  • Таким образом, список резервных копий, представленный в диалоговом окне Configuration Backup/Restore, является объединением папок History и MetaBack.

    (рис A.16) В окне Configuration Backup/Restore выводится список резервных копий метабазы
  • Щелкните на кнопке Create Backup (Создать резервную копию) и задайте имя вашего набора резервной копии. Вы можете также задать при необходимости пароль, который является обязательным, если вы планируете восстанавливать метабазу из вашей резервной копии на другой машине.
  • Щелкните на кнопке OK, чтобы создать новую резервную копию. В результате будут созданы файлы *.MD0 и *.SC0 в папке MetaBack.
  • Отметим, что начальная резервная копия конфигурации, которая создается автоматически при установке IIS, не шифруется; поэтому она бесполезна в случае фатального отказа вашего сервера, когда вы должны переустановить на нем операционную систему. Непосредственно после установки компонентов IIS вам следует создать вторую, шифрованную резервную копию конфигурации. Создание шифрованных резервных копий занимает больше времени, чем для нешифрованных резервных копий, и метабаза блокируется во время процесса резервного копирования, чтобы избежать модификаций в течение этого времени.

    Вы можете также выполнить резервное копирование метабазы с помощью скрипта iisback.vbs, который находится в папке \system32:

    C:\>iisback /backup /b mybackup190303 /e mypassword
    Connecting to server ...Done.
    Backup mybackup190303 version NEXT_VERSION has been CREATED.
    You can also use iisback.vbs to list the backups you've created: \
    C:\>iisback /list
    Connecting to server ...Done.
    Backup Name                          Version #      Date/Time
    ==================================================
    Initial Backup - created automatically by IIS setup 1 3/19/2003 1:07:20 PM 
    mybackup190303                       0               3/19/2003 4:30:23 PM

    Восстановление метабазы

    Вы можете легко восстановить метабазу из резервной копии. Чтобы проверить восстановление, нам нужно внести изменение, поэтому удалите созданный ранее сайт Sample Web Site, щелкнув правой кнопкой мыши на его узле в IIS Manager и выбрав пункт Delete. Теперь выполните следующие шаги.

  • Щелкните правой кнопкой на узле IIS Manager, представляющем сам сервер.
  • Выберите All Tasks/Backup/Restore Configuration.
  • Выберите ранее созданную резервную копию (см. рис A.17(рис A.17) Выбор резервной копии для восстановления
  • Щелкните на кнопке Restore (Восстановить).
  • Появится сообщение, указывающее, что требуется остановить IIS и что для восстановления может потребоваться некоторое время. Щелкните на кнопке OK.
  • Если вы задали пароль при резервном копировании метабазы, то во время восстановления у вас будет затребован ввод этого пароля.
  • Когда вы получите уведомление, что операция выполнена успешно, щелкните на кнопке OK и затем на кнопке Close.
  • Ваш сайт Sample Web Site снова появится в IIS Manager, указывая на то, что восстановление было успешным.

    Совет. Вы можете также использовать эту процедуру для восстановления из журнального файла (history-файла).

    Экспорт метабазы

    Вы можете экспортировать и импортировать выбранные части метабазы, например, информацию о конфигурации для конкретного веб-сайта, или виртуальной папки, или даже конфигурации всех веб-сайтов на вашей машине. Экспортированный файл будет XML-файлом, который можно в дальнейшем импортировать на вашу машину или другую машину с установленной IIS 6. Вы можете также использовать средство export для создания шаблона метабазы, чтобы копировать или "клонировать" конфигурации веб-сайтов на несколько машин с IIS, чтобы они имели одинаковую конфигурацию.

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

    Чтобы использовать IIS Manager для экспорта конфигурации вашего сайта Sample Web Site, выполните следующие шаги.

  • Щелкните правой кнопкой на Sample Web Site и выберите All Tasks/Save Configuration to a File (Все задачи/Сохранить конфигурацию в файле).
  • Задайте имя файла экспорта и выберите опцию шифрования, чтобы вы могли позже импортировать этот файл на другую машину IIS 6.
  • Щелкните на кнопке OK.
  • Вы можете также экспортировать части метабазы из командной строки с помощью скрипта iiscnfg.vbs:

    C:\>iiscnfg /export /f test.xml /sp /lm/w3svc/1226210006 /inherited /children
    Connecting to server ...Done.
    Configuration exported from /lm/w3svc/1 to file export_test_2.xml.

    Эта команда имеет следующий синтаксис.

  • /f назначает имя text.xml для файла экспорта, который сохраняется по умолчанию в корне диска C:, если не указан другой путь.
  • /sp указывает имя экспортируемого узла метабазы /lm/w3svc/1226210006, где 1226210006 - это идентификатор, используемый внутренним образом для идентификации сайта Sample Web Site (он генерируется случайным образом службой IIS, чтобы ваша машина отличалась от других машин). Вы можете увидеть идентификаторы для ваших веб-сайтов, выбрав узел Web Sites в IIS Manager.
  • /inherited указывает, что свойства, наследуемые этим узлом от его родительского узла, следует явно включить в файл экспорта.
  • /children указывает, что к файлу экспорта должны рекурсивно добавляться подключи.
  • Импорт метабазы

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

  • Щелкните правой кнопкой на узле Web Sites и выберите New/Web Site From File (Создать/Веб-сайт из файла).
  • Щелкните на кнопке Browse в диалоговом окне Import Configuration (Импорт конфигурации) и выберите файл экспорта, который вы создали раньше.
  • Щелкните на кнопке Read File (Читать файл). Sample Web Site появится в списке Location.
  • Выберите Sample Web Site и щелкните на кнопке OK.
  • Введите пароль, который вы использовали для шифрования файла экспорта, и щелкните на кнопке OK.
  • Sample Web Site появится в IIS Manager в остановленном состоянии (stopped). Чтобы запустить его, щелкните правой кнопкой на узле этого сайта и выберите пункт Start (Запустить).
  • Импорт файла экспорта на другую машину происходит несколько сложнее, поскольку вы должны сначала выполнить следующие задачи.

  • Измените или удалите из файла экспорта всю информацию, относящуюся к конкретной машине.
  • Создайте все необходимые папки на целевой машине, например, домашние папки для каждого импортируемого веб-сайта.
  • Измените все пути файловой системы в свойствах метабазы, если они отличаются на целевой машине.
  • Удалите все свойства, относящиеся к учетным записям IUSR и IWAM (они будут другими на целевой машине).
  • Удалите все свойства AdminACL (они относятся к конкретной машине и не могут быть изменены вручную).
  • Удалите все свойства, относящиеся к паролям (они относятся к конкретной машине и не могут быть изменены вручную).
  • Вернуться к учебному плану