Если вы планируете использовать Windows Server 2003 для хостинга веб-сайтов и динамических веб-приложений, то обнаружите, что внесены некоторые существенные изменения в Internet Information Services (IIS) на этой новой платформе. Версия 6 IIS улучшена в компонентах, касающихся безопасности, надежности, масштабируемости, управляемости и производительности. Важно, чтобы вы знали об этих изменениях, если хотите по-настоящему использовать возможности новой версии. Описание IIS дается в приложении, поскольку IIS в Windows Server 2003 является обычно дополнительным компонентом, который не устанавливается по умолчанию. Исключением является версия Web Edition, в которой IIS и многие
Ввиду этих ограничений архитектура в IIS 6 была переработана, чтобы все приложения выполнялись в виде пула процессов с поддержкой нескольких пулов вместо одного. Это означает, что разработанный пользователем код не выполняется в виде отдельного процесса, поэтому сбойные приложения больше не вызывают отказа всего сервера. Давайте рассмотрим, как это происходит.
IIS 6 имеет двойственную архитектуру, которая может действовать в одном из двух режимов.
Если выполнить установку 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 6 является поддержка так называемых веб-садов (web garden). Веб-сад - это пул приложений, обслуживаемый несколькими рабочими процессами, между которыми распределяется нагрузка, и которые обеспечивают отказоустойчивость в случае непредусмотренного прекращения одного процесса. Веб-сады повышают также степень масштабируемости IIS 6, позволяя одному серверу одновременно содержать тысячи приложений и делая IIS 6 превосходной платформой для сред поставщиков услуг.
Приложения иногда содержат сбойный код, который вызывают утечки памяти и другие состояния ошибок. Чтобы продолжать выполнение приложений, для более ранних версий IIS приходилось периодически выполнять перезагрузку; в IIS 6 удалось устранить это требование с помощью нового средства - повторяемого запуска рабочего процесса (worker process
Для экономии полезных ресурсов процессора и памяти в IIS 6 реализован запуск по требованию. С помощью этого средства рабочий процесс, связанный с определенным пулом приложений, не запускается, пока приложение не получит первый запрос HTTP. В IIS 6 поддерживается также тайм-аут простоя (
Рабочие процессы управляются службой веб-администрирования WAS (Web Administration Service) - новым средством IIS 6, которое реализуется как компонент службы WWW Service. В дополнение к повторяемому запуску рабочих процессов служба WAS периодически опрашивает (с помощью команды ping) рабочие процессы для мониторинга их состояния. Если рабочий процесс блокирован и не может ответить, служба WAS прекращает этот процесс и запускает новый процесс для его замены. Альтернативно службу WAS можно сконфигурировать таким образом, чтобы оставлять работающим неотвечающий процесс, пока WAS запускает его замену.
Это полезно в сценариях разработки, когда к неотвечающему процессу может быть подсоединен отладчик, чтобы определить источник неисправности. Если приложение настолько неисправно, что рабочий процесс неоднократно зависает, то можно использовать средство, которое называется защитой от частых сбоев (rapid fail protection), чтобы вывести соответствующий пул приложений из эксплуатации, пока не будет разрешена проблема.
Дополнительной возможностью в IIS 6 является расширенная поддержка платформ оборудования симметричной мультипроцессорной обработки (SMP). Используя родственность процессоров (
Формат метабазы, то есть файла, содержащего информацию о конфигурации IIS, можно изменять в IIS 6 с двоичного формата, который использовался в более ранних версиях, на текстовый XML-файл. Это делает метабазу более удобной для редактирования (можно использовать простой текстовый редактор, например, Notepad) и позволяет быстрее перезапускать IIS. В метабазу также включены следующие новые возможности.
Более высокий уровень безопасности - это второе по значимости улучшение в IIS 6 по сравнению с предыдущими версиями. IIS теперь не устанавливается по умолчанию при установке "с нуля" операционной системы; когда вы устанавливаете IIS, она конфигурируется в блокированном состоянии, позволяющем обслуживать только статическое содержимое. Прежде чем приступить к обслуживанию динамического содержимого клиентов, вы должны активизировать такие средства, как ASP, ASP.NET, CGI и ISAPI, позволяющие запускать веб-приложения. Это означает, что вы можете активизировать именно те компоненты, которые вам требуются, и оставить отключенными остальные компоненты, что является огромным улучшением в безопасности для данной платформы. Возможности для динамического содержимого активизируются и отключаются с помощью нового узла Web Service Extensions (WSE) в оснастке IIS Manager, которую мы вскоре рассмотрим.
Новая платформа содержит также другие улучшения в безопасности.
svchost.exe в IIS 5.cmd.exe.В дополнение к консоли IIS Manager в меню Administrative Tools имеется также ряд других способов эффективного управления машинами IIS 6.
\system32 и может быть использован для создания веб-сайтов и FTP-сайтов, создания виртуальных папок, включения и отключения расширений веб-служб, создания резервных копий метабазы и т.д. Вы можете запускать эти скрипты в сеансе командной строки на машине с IIS, с удаленной машины с помощью Remote Desktop или с помощью службы Telnet.Рассмотрим выполнение некоторых базовых административных задач в IIS 6 и реализацию многих новых средств, поддерживаемых этой платформой.
Самый простой способ установки IIS - это использование страницы Manage Your Server (Управление вашим сервером), которая автоматически открывается, когда вы загружаете свой компьютер. Если эта страница не открыта, то вы можете открыть ее и установить IIS, добавив роль сервера приложений (Application Server). Чтобы добавить роль Application Server, выполните следующие шаги.
После установки IIS вы можете управлять этой службой, используя один из следующих способов.
Для выполнения остальных задач, рассматриваемых в этом приложении, мы будем использовать второй способ и будем также предполагать, что оснастка IIS Manager (см. рис.A.1) уже открыта.
(рис A.1) Консоль Internet Information Services (IIS) ManagerПо умолчанию, когда вы устанавливаете IIS, она может обслуживать только статическое содержимое клиентов. Если вы планируете хостинг динамического содержимого, такого как приложения Active Server Pages (ASP-приложения), то должны активизировать соответствующие DLL для поддержки этого содержимого. Например, чтобы активизировать ASP-расширение, позволяющее вам размещать и запускать ASP-приложения на вашем сервере, выполните следующие шаги.
Вы можете использовать Default Web Site для хостинга приложений ASP или ASP.NET, но обычно лучше создавать для этих приложений новые веб-сайты. (Зарезервируйте Default Web Site, который следит за все обращениями с неназначенных IP-адре-сов, для хостинга страницы типа sample under construction [пример разрабатываемой страницы], в которой выводится логотип компании и контактная информация.) Прежде чем создавать новые сайты, убедитесь, что вы назначили все необходимые дополнительные IP-адреса вашему серверу (если вы не планируете использовать имена заголовка хоста, чтобы идентифицировать ваши веб-сайты для клиентов).
Чтобы создать новый веб-сайт с помощью IIS Manager, выполните следующие шаги.
Новый созданный сайт будет теперь представлен в IIS Manager (см. рис. A.3). Ниже мы добавим содержимое к вашему сайту.
(рис A.3) Новый веб-сайт с именем Sample Web Site (Пример веб-сайта)После создания вашего сайта вы можете сконфигурировать его, открыв страницу его свойств. Щелкните правой кнопкой на узле для этого сайта и выберите пункт 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, поэтому давайте изменим его.
Теперь у нас есть 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) Приложения, запускаемые в пуле приложений по умолчаниюЧтобы создать новый пул приложений с именем Second Pool (Второй пул), выполните следующие шаги.
Теперь переместим приложение Sample Application в пул Second Pool.
Теперь в IIS Manager приложение Sample Application будет показано в пуле Second Pool (см. рис. A.8).
(рис A.8) Приложения теперь запускаются в различных пулахПереместив приложение в отдельный пул, сконфигурируем повторяемый запуск, мониторинг состояния, защиту от частых сбоев, тайм-аут простоя и другие средства этого пула приложений. Эти процедуры описываются в следующих разделах.
Чтобы сконфигурировать повторяемый запуск рабочих процессов (
Отметим, что вы можете инициировать повторяемый запуск рабочих процессов в зависимости от следующих параметров:
(рис A.9) Конфигурирование повторяемого запуска рабочих процессовВы можете также принудительно инициировать повторяемый запуск в любой момент, щелкнув правой кнопкой на пуле приложений и выбрав пункт Recycle.
Чтобы задать прекращение рабочих процессов после их простоя в течение определенного периода времени, выполните следующие шаги.
По умолчанию рабочие процессы закрываются после простоя в 20 минут, чтобы освобождать ресурсы памяти и процессора данной машины для других приложений.
По умолчанию IIS создает один рабочий процесс для обслуживания приложений одного пула приложений. Если ваше приложение активно использует ресурсы или вы хотите обеспечить отказоустойчивость для его работы, то можете создать так называемый веб-сад, то есть пул приложений, обслуживаемый несколькими рабочими процессами. Чтобы создать веб-сад, выполните следующие шаги.
(рис A.10) Конфигурирование тайм-аута простоя и других настроек производительностиПо умолчанию мониторинг состояния активизирован для всех пулов приложений и заключается в опросе (pinging) рабочих процессов службой IIS, чтобы проверить, что они работают. Вы можете включить или отключить это средство, выполнив следующие шаги.
Вы можете также использовать вкладку Health, чтобы задать защиту от частых сбоев (rapid fail protection).
(рис A.11) Конфигурирование мониторинга состояния и защиты от частых сбоевПо умолчанию все пулы приложений запускаются в
Вы можете конфигурировать множество настроек для приложений ASP или ASP.NET, включая отображение приложений, использование символов подстановки, кэширование расширений ISAPI,
(рис A.12) Конфигурирование учетной записи для пула приложенийВ остальной части этого приложения будет описано несколько задач, относящихся к метабазе.
Хотя наиболее безопасный способ внесения изменений в метабазу - это использование интерфейса IIS Manager, иногда вам может потребоваться непосредственное редактирование метабазы. IIS 6 позволяет вам делать это в на вашем сервере в реальном масштабе времени во время работы IIS (его также называют редактирова-нием-при-выполнении). Чтобы разрешить непосредственное редактирование ме-табазы, выполните следующие шаги.
Вы можете также сделать это из командной строки путем редактирования самой метабазы, но должны использовать при этом команду iisreset для краткой остановки и запуска IIS, что вызовет прерывание обслуживания. Чтобы активизировать редактирование-при-выполнении из командной строки, выполните следующие шаги.
iisreset, чтобы остановить все службы IIS:C:\ >iisreset /stop Attempting stop... Internet services successfully stopped
Metabase.xml в папке \system32\Inetsrv.Metabase.xml и выберите Open With/Notepad (Открыть с помощью/Блокнот).EnableEditWhileRunning="0" и измените ее на EnableEditWhileRunning="1".iisreset, чтобы снова запустить IIS:C:\ >iisreset /start Attempting start... Internet services successfully started
Отметим, что команду iisreset можно также использовать для перезагрузки удаленных машин с IIS из командной строки. Для получения полного синтаксиса этой команды введите iisreset /?.
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) Файлы резервной копии начальной конфигурации метабазы\Inetsrv\MetaBack ;\Inetsrv\MetaBack.\Inetsrv\History.Таким образом, список резервных копий, представленный в диалоговом окне Configuration Backup/Restore, является объединением папок History и MetaBack.
(рис A.16) В окне Configuration Backup/Restore выводится список резервных копий метабазыОтметим, что начальная резервная копия конфигурации, которая создается автоматически при установке 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. Теперь выполните следующие шаги.
Ваш сайт Sample Web Site снова появится в IIS Manager, указывая на то, что восстановление было успешным.
Вы можете экспортировать и импортировать выбранные части метабазы, например, информацию о конфигурации для конкретного веб-сайта, или виртуальной папки, или даже конфигурации всех веб-сайтов на вашей машине. Экспортированный файл будет XML-файлом, который можно в дальнейшем импортировать на вашу машину или другую машину с установленной IIS 6. Вы можете также использовать средство export для создания шаблона метабазы, чтобы копировать или "клонировать" конфигурации веб-сайтов на несколько машин с IIS, чтобы они имели одинаковую конфигурацию.
Отметим, однако, что экспорт метабазы не предназначен как замена обычных резервных копий этой метабазы. Дело в том, что экспорт метабазы можно использовать для создания резервной копии только файла конфигурации метабазы, но не файла схемы метабазы. Кроме того, в файлы экспорта метабазы не включаются свойства шифрования, которые содержатся в файлах резервной копии метабазы.
Чтобы использовать IIS Manager для экспорта конфигурации вашего сайта Sample Web Site, выполните следующие шаги.
Вы можете также экспортировать части метабазы из командной строки с помощью скрипта 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 в целях тестирования и затем выполните следующие шаги.
Импорт файла экспорта на другую машину происходит несколько сложнее, поскольку вы должны сначала выполнить следующие задачи.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.