Веб-сервер представляет собой некоторую программу (службу), принимающую HTTP-запросы от клиентов, обычно от веб-браузеров, обрабатывающую данные запросы и выдающую им ответ, как правило, вместе с HTLM-страницей (сайтом), изображением, файлом, медиа-потоком или другими данными. Ниже подробно рассмотрим процесс установки подобной службы, а именно веб-сервера IIS 8 (Internet Information Server) входящего в поставку Microsoft Windows Server 2012 R2.
0. Оглавление
- Установка веб-сервера IIS
- Перезапуск сервера IIS
1. Установка веб-сервера IIS
Запускаем Диспетчер серверов (Server Manager). Его можно запустить с ярлыка на панели задач, или же выполнив команду servermanager.exe (Для этого необходимо нажать комбинацию клавиш Win + R, в появившемся окне в поле «Открыть» (Open) написать имя команды и нажать «ОК» ).
В диспетчере серверов, в меню, расположенном в правом верхнем углу окна, выберем «Управление» (Manage) — «Добавить роли и компоненты» (Add Roles and Features)
Запустится Мастер добавления ролей и компонентов (Add Roles and Features Wizard). Нажимаем «Далее» (Next) на стартовой странице.
Тип установки (Installation Type) отмечаем «Установка ролей или компонентов» (Role-based or feature-based installation) и нажимаем «Далее» (Next).
Выбираем текущий сервер из пула серверов (Select a server from the server pool) и снова жмем «Далее» (Next).
На следующем шаге выбираем роль, которую необходимо установить. В нашем случае это роль «Веб-сервер (IIS)» (Web Server). Отмечаем ее в списке.
При этом мастер предложит нам добавить компоненты, необходимые для Веб-сервера, а именно «Консоль управления службами IIS» (IIS Management Console). Соглашаемся на установку дополнительных компонент нажав «Добавить компоненты» (Add Features) и жмем «Далее» (Next).
Оставляя список компонент без изменений нажимаем «Далее» (Next).
Ознакомившись с информацией о роли веб-сервера снова жмем «Далее» (Next).
Затем необходимо выбрать службы ролей, которые будут установлены для веб-сервера. Этот набор зависит от конкретных задач, которые будет выполнять сервер IIS.
Например, для публикации баз данных «1С:Предприятие» 8 на веб-сервере или для запуска сайта на WordPress, требуется установка компонент:
- Общие функции HTTP (Common HTTP Features)
- Статическое содержимое (Static Content)
- Документ по умолчанию (Default Document)
- Обзор каталогов (Directory Browsing)
- Ошибки HTTP (HTTP Errors)
- Разработка приложений (Application Development)
- ASP
- ASP.NET 3.5
- Расширяемость .NET 3.5 (.NET Extensibility 3.5)
- Расширения ISAPI (ISAPI Extensions)
- Фильтры ISAPI (ISAPI Filters)
- Исправление и диагностика (Health and Diagnostics)
- Ведение журнала HTTP (HTTP Logging)
- Монитор запросов (Request Monitor)
- Средства управления (Management Tools)
- Консоль управления IIS (IIS Management Console)
Для установки FTP-сервера требуются компоненты:
- FTP-Сервер (FTP Server)
- Служба FTP (FTP Service)
- Расширяемость FTP (FTP Extensibility)
и т. д. Если выделить службу в списке, слева доступно ее краткое описание. Выбрав необходимые службы ролей жмем «Далее» (Next).
Устанавливаем флаг «Автоматический перезапуск конечного сервера, если требуется» (Restart the destination server automatically if required) если перезагрузка не помешает работе других пользователей и жмем «Установить» (Install) для начала установки указанных в списке служб.
Дожидаемся завершения установки веб-сервера (может произойти перезагрузка сервера) и нажимаем «Закрыть» (Close) для завершения работы мастера.
Возвращаемся в диспетчер серверов, в меню «Средства» (Tools) выбираем появившейся там пункт «Диспетчер служб IIS» (Internet Information Services).
В запустившемся Диспетчере служб IIS, в окне подключений (Connections) увидим только что установленные веб-сервер (соответствует сетевому имени компьютера) а также один веб-сайт, добавленный по умолчанию, с названием Default Web Site.
Данный сайт представляет одну веб-страницу с приветствием на различных языках и откликается на все запросы к данному веб-серверу по 80-му порту. Чтобы просмотреть его, достаточно запустить веб-браузер, например Internet Explorer, и ввести в строку адреса http://localhost.
Также этот сайт можно просмотреть с любого другого компьютера в сети, забив в строку адресе IP компьютера где установлен веб-сервер IIS.
Файлы этого сайта, как и файлы всех других добавленных позже сайтов по умолчанию располагаются в каталоге C:interpubwwwroot.
Ну и соответственно, чтобы сайты расположенные на данном веб-сервере были доступны из сети Интернет по внешнему IP-адресу или доменному имени (о том как привязать доменное имя к IP-адресу читайте здесь), необходимо на маршрутизаторе выполнить проброс 80-ого порта на компьютер с установленным веб-сервером IIS.
2. Перезапуск сервера IIS
Иногда требуется перезапустить веб сервер IIS. Сделать это можно как из Диспетчера служб IIS, кликнув правой кнопкой мыши по серверу в окне подключений или из меню «Действия» (Action)
так и из командной строки, выполнив команду
iisreset /noforce <имя_компьютера>
где:
- параметр /noforce необязателен и используется для защиты от потери данных в случае, когда службы IIS не могут быть остановлены в течение одноминутного периода ожидания.
- параметр <имя_компьютера> также необязателен при работе на локальном компьютере. В случае удаленного администрирования сервера IIS в качестве параметра <имя_компьютера> указывается имя NetBIOS компьютера, на котором выполняется перезапуск IIS.
При перезапуске веб сервера IIS происходит перезапуск следующих служб (если они устанавливались при установке компонент IIS):
Служба | Описание |
---|---|
Служба IIS Admin | Эта служба управляет всеми службами IIS, кроме службы WWW (FTP, NMTP и SMTP). |
Служба WWW | Эта служба обеспечивает подключения клиентов к веб-узлам. |
Служба HTTP SSL | Эта служба обеспечивает безопасные подключения клиентов к веб-узлам. |
Служба FTP | Эта служба обеспечивает FTP-подключения и администрирование в диспетчере IIS. |
Служба SMTP | Эта служба обеспечивает передачу электронной почты по сети. |
Служба NNTP | Эта служба обеспечивает передачу электронных новостей по сети. |
Обновлено 18.06.2017
Всем привет сегодня хочу рассказать как установить IIS 8.5 и FTP в Windows Server 2012 R2. Ранее я уже рассказывал Как установить IIS 7 и FTP сервер в Windows Server 2008 R2-1 часть. Так что, если у вас более старая версия Операционной системы, то советую ознакомится. В самом процессе инсталляции отличий не очень много, но так же присутствуют дополнительные моменты, которые следует разобрать. Еще удобно, то что все можно сделать с помощью powershell. Думаю, данный материал вам будет очень полезен.
Установка microsoft iis 8.5
Заходим на ваш Windows Server 2012 R2, открываем диспетчер сервера и жмем «Управление-Добавить роли и компоненты»
Как установить IIS и FTP в Windows Server 2012 R2-02
Пропускаем первое вводное окно мастера, оно несет в себе чисто ознакомительный характер.
Как установить IIS и FTP в Windows Server 2012 R2-03
Оставляем пункт «Установка ролей или компонентов», жмем далее
Как установить IIS и FTP в Windows Server 2012 R2-04
Выбираем наш сервер из пула, если в пуле их несколько
Как установить IIS и FTP в Windows Server 2012 R2-05
Выбираем пункт «Веб-сервер IIS»
Как установить IIS и FTP в Windows Server 2012 R2-06
нажимаем «Добавить компоненты»
Как установить IIS и FTP в Windows Server 2012 R2-07
Пропускаем компоненты и жмем далее
Как установить IIS и FTP в Windows Server 2012 R2-08
далее на странице «Роль веб-сервера IIS», жмем далее
Как установить IIS и FTP в Windows Server 2012 R2-09
Добавляем компонент FTP и жмем далее
Как установить IIS и FTP в Windows Server 2012 R2-10
Установить, сам процесс инсталляции не занимает много времени.
Как установить IIS и FTP в Windows Server 2012 R2-11
Видим, что IIS 8.5 и FTP установились успешно, жмем закрыть
Как установить IIS и FTP в Windows Server 2012 R2-12
Как установить IIS и FTP в Windows Server 2012 R2-13
Установка с помощью Powershell
Если вы планируете автоматизировать данный процесс, или произвести его на удаленной площадке, где нет достаточно квалифицированного персона, то вы можете использовать оболочку powershell и ее командлеты для нашей задачи. Открываем окно от имени администратора и вводим вот такую команду:
Install-WindowsFeature –Name веб-Server –IncludeManagementTools
Установка FTP делается вот так:
Install-WindowsFeature -Name «Web-Ftp-Service»
Средства управления фтп, если не нужна служба
Install-WindowsFeature -Name «Web-Mgmt-Console»
Вот так вот просто установить IIS и FTP в Windows Server 2012 R2. Читайте далее как настроить ftp сервер в Windows Server 2012 R2.
Материал сайта pyatilistnik.org
Пришла задача поднять IIS на Windows Server 2012 R2 для CRM BPM Online от Terrasoft. Указанные ниже настройки достаточны для работы данной приблуды. Однако, пришлось также забраться в конфиги данной сторонней системы и кое что править руками. Но это уже не относится к установке IIS и описываться здесь не будет.
Для ваших задач, скорее всего, потребуется ставить уже другие галки. Приступим.
Ссылки
Установка IIS в Windows 10
Установка
Запускаем Server Manager. Manage > Add Roles and Features.
Запускается мастер добавления ролей и фич.
Кликаем Next. Попадаем в выбор типа установки.
Оставляем Role-based or feature-based installation. Next. Попадаем на страницу выбора сервера.
У меня один сервер. Next. Наконец попадаем в выбор ролей.
Ставим галку на Web Server (IIS). Сразу же всплывает окно.
Нам предлагают с выбором роли Web Server (IIS) также поставить необходимые обязательные для этой роли фичи. Кликаем Add Features. Переходим к окну выбора фич.
Кликаем Next. Переходим на вкладку Web Server Role (IIS).
Кликаем Next. Переходим на вкладку Role Services.
Теперь настраиваем фичи для выбранной роли. Нас интересует раздел Web Server. Ставим галки на фичах.
Теперь нас интересует раздел FTP Server. Ставим галки на фиче FTP Service.
В разделе Management Tools ставим галки на фичах.
- IIS Management Console
- IIS 6 Management Compatibility
- IIS 6 Metabase Compatibility
- IIS Management Scripts and Tools
- Management Service
Кликаем Next. Попадаем на страницу подтверждения.
Кликаем Install. Начинается установка.
Installation succeeded.
Даже не пришлось ребутать сервер.
Служба IIS (Internet Information Services) необходима для работы ASP.NET серверной части СпрутМонитор.
1. Запустите Диспетчер серверов через меню Пуск или кнопку на панели задач:
2. В появившемся окне, на вкладке Панель мониторинга, щелкните пункт Добавить роли и компоненты:
3. Нажмите кнопку Далее, затем на шаге выбора типа установки, выберите Установка ролей или компонентов:
4. На следующем шаге выберите сервер:
5. На шаге выбора ролей, выберите Веб-сервер:
6. Нажмите кнопку Добавить компоненты:
7. Следующие шаги можно пропустить. На последнем шаге выберите Установить:
8. После завершения установки, рекомендуется перезагрузить сервер.
9. Запустите браузер и перейдите по адресу http://localhost/. Если открылась тестовая страница IIS, значит установка произведена успешно.
См. также: Установка серверной версии СпрутМонитор.
Время прочтения
4 мин
Просмотры 56K
Спешу поделиться опытом установки и настройки указанных в названии монстров!
К сожалению, такая связка не столь популярна, чтобы найти что-то стоящее по этой теме в поисковиках. Но мне удалось отрывками и кусками все-же поймать свой Дзен.
В данном примере я буду использовать свои преимущества студента. Поэтому ПО от Microsoft я буду брать максимально свежее по программе Dreamspark.
Итак, составим задачу.
1. Установить MS SQL Server 2014;
2. Установить роль «Веб-сервер (IIS)» версии 8;
3. Установить PHP 5.4.24;
4. И, конечно же, заставить все это работать в связке на Windows 2012 R2 (установку и подготовку сервера я рассматривать, конечно, не буду).
В наличии имеется домен: test.local
Установка и настройка MS SQL Server 2014
Усложнить данный этап я решил лишь тем, что сервер с БД у нас будет выделенным. Т.к. в большинстве случаев именно тогда возникает необходимость «прикрутить» IIS+PHP, когда база уже чем-то «набита» и более того, находится удаленно.
Имя сервера: sql.test.local
Установка проходит крайне примитивно, нажимая «Далее». У меня были установлены все компоненты экземпляра, за исключением «Репликации SQL Server». Указаны стандартные пути.
Выбран свой, именованный экземпляр «bd».
Стандартные учетные записи служб.
Выбран «Смешанный режим». Установлен пароль MSsql2014 для учетной записи «sa», а так-же добавлен текущий пользователь системы. (Нажать кнопку «Добавить текущего пользователя».
Таким образом. Мы закончили установку MS SQL Server 2014.
Теперь вы можете создать тестовую базу с помощью, идущего в комплекте с установкой, Microsoft SQL Server Management Studio. В данном примере имя БД «test». (
Некоторые данные на скрине, такие как Сервер, Соединение, Владелец были умышленно затерты на скрине, т.к. подлинные скрины с тестового полигона были утеряны
).
Теперь мы сразу настроим возможность подключения к текущему экземпляру «извне» (в данном примере с локальной сети).
Для этого нам необходимо открыть оснастку Sql Server Configuration Manager. Перейти в раздел Сетевая конфигурация SQL Server — Протоколы для BD и открыть свойства TCP/IP. Перейти на вкладку IP-адреса и самое важное, что здесь необходимо сделать, это: указать порт 1433 (в данном примере используемый порт по умолчанию) для требуемого IP адреса (в данном примере адрес сервера с MS SQL 192.168.2.27) и установить соединение по этому IP активным.
IPv6 и другие адреса — вы можете включить или отключить, по своей необходимости.
(Важное отмечено на скриншоте).
После применения настроек вы получите соответствующее уведомление.
После этого нам необходимо выбрать Службы SQL Server. И перезапустить SQL Server (BD).
Остался финальный этап. Создать соответствующее правило в Брандмауэре. А именно разрешить входящие соединения по порту 1433. Для более детального ознакомления с этим процессом можно обратиться за оригинальным руководством на msdn.
В моем же случае брандмауэр просто выключен. (
Подобную практику ни в коем случае не рекомендую, как руководство к действию
).
Итак, сервер MS SQL, у нас установлен и настроен для внешних подключений.
Далее устанавливаем штатными средствами роль Веб-сервера (IIS).
В компонентах дополнительно ставим галку напротив: функции .NET Framework 3.5, который включает в себя версию .NET 2.0 (он нам потребуется для установки Диспетчера PHP, чуть ниже).
В компонентах самого IIS — достаточно оставить все по умолчанию.
А вот дальше, наверное, самое главное. Мы качаем и устанавливаем Web-платформу от Microsooft.
Этот чудесный инструмент поможет нам решить многие проблемы.
Установка примитивная, поэтому не буду ее детально описывать.
После запуска веб-платформы вам будут доступны для установки очень много компонентов. Веб-платформа автоматически выбирает язык, основываясь на установленном в системе. Поэтому у меня русские названия продуктов.
Если у вас Windows установлен с другой локализацией — названия продуктов могут отличаться!
Направляемся в продукты и выбираем то, что нам необходимо:
PHP 5.4.9 (на момент написания статьи к установке была допустима версия PHP 5.6.0, а так-же версия PHP 5.5.11 но к сожалению, как я не танцевал — заставить их работать на php-cgi так и не удалось. Возможной причиной тому — отсутствие драйверов в списке).
Вместе с этим продуктом автоматически поставляются еще 2:
Диспетчер PhP для IIS — крайне полезный и удобный в обращении. (именно для него и требуется компонент .NET Framework 3.52.0).
Драйверы Microsoft 3.0 для PhP версии 5.4 для SQL Server в IIS (как раз те самые драйвера, которых нет в наличии веб-платформы для версий 5.5.11 и 5.6.0
На этом первичная установка готова. Как оказалось — все легко и без проблем.
Теперь можно открыть диспетчер PHP в IIS и выбрать там функцию «Проверить phpinfo()». Действительно, очень удобно! Тут же вам будут даны рекомендации по оптимальной конфигурации PHP, кроме того, вы можете установить или удалить расширения PHP.
После просмотра phpinfo, убедившись, что все работает отлично, можно создать тестовый скрипт, который проверит наше подключение к БД.
Спасибо «неизвестному солдату» из песочницы. Именно из его статьи я позаимствовал этот скрипт.
<?php
$serverName = "SQLBD"; // Пишем имя компьютера с БД и имя экземпляра. если instance и port стандартные, то можно не указывать
$connectionInfo = array("UID" => "sa", "PWD" => "MSsql2014", "Database"=>"test"); //В принципе итак все понятно, UID - имя пользователя. PWD - Пароль и наша созданная тестовая база данных
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn )
{
echo "Connection established.n";
}
else
{
echo "Connection could not be established.n";
die( print_r( sqlsrv_errors(), true));
}
/* Close the connection. */
sqlsrv_close( $conn);
?>
Если все прошло успешно и вы ничего не пропустили, то результатом выполнения у вас будет надпись:
Connection established.
В противном случае, вы увидите:
Connection could not be established. И ошибки, полученные в результате обработки.
Надеюсь, ничего не забыл. И буду рад, если эта статья кому-то пригодится!
Использованные источники
Web Platform от Microsoft
Немного MSDNа
Статья из песочницы
IIS — служба Microsoft Windows, предназначенная для развертывания web-сервера. Служба IIS является отдельной функцией ОС, и изначально она не установлена.
Установка для Windows Server 2012
Устанавливаем и настраиваем службу IIS
Заходим в «Диспетчер серверов», нажимаем на вкладку «Управление» и выбираем «Добавить роли и компоненты».
Откроется «Мастер добавления ролей и компонентов». В разделе «Перед началом работы» ознакомимся с информацией и нажмем кнопку «Далее».
В разделе тип «Тип установки» выбираем «Установка ролей или компонентов» и жмем «Далее»
Ставим флажок на «Выберите сервер из пула серверов», выбираем сервер и нажимаем «Далее».
Отмечаем «Веб-сервер (IIS)».
Появится окно, в нем необходимо нажать «Добавить компоненты». Затем нажимаем «Далее».
После этого откроется информационный раздел «Роль веб-сервера (IIS)», ознакомить с ним и нажмите «Далее».
Открываем «Службы ролей», и в «Разработке приложений» отмечаем все, кроме «Инициализация приложений».
После этого появится надпись об отсутствии исходников. Интернет должен быть включен, нажимаем «Установить», далее установка пройдет в автоматическом режиме.
По окончанию инсталляции настраиваем веб-сервер IIS.
Открываем «Диспетчер серверов» переходим в «IIS» нажимаем «Средства», и из списка выбираем «Диспетчер служб IIS».
Мы видим созданный веб-сайт. Для его просмотра на правой панели нажимаем «Обзор *:80 (http)»
При его просмотре откроется приветственная страница.
Устанавливаем PHP
Для установки PHP потребуется скачать PHP Manager for IIS и необходимую вам версию PHP (рекомендуем 5.6.40).
Скачиваем архив с файлами PHP и распаковываем его в С:php.
Затем скачиваем и устанавливаем PHP Manage For IIS. Дальше везде кликаем «Next».
По окончанию инсталляции в Диспетчере служб IIS появится иконка «Администратор PHP». Кликаем по ней.
Далее нажимаем «зарегистрировать новую версию PHP».
При регистрации переходим в папку С:php и выбираем файл «php-cgi.exe».
Проверяем работоспособность РНР. В этой же вкладке кликаем «проверить phpinfo()».
Если при открытии тестовой страницы появилась ошибка «HTTP 500.0 — Internal Server Error», то нужно установить пакет Visual C++ для Visual Studio 2012.
Для этого переходим на сайт Microsoft и скачиваем «Распространяемый пакет Visual C++ для Visual Studio 2012 Обновление 4».
Выбираем VSU4vcredist_x64.exe.
Затем устанавливаем его на сервере и снова нажимаем «проверить phpinfo()».
Устанавливаем MySQL
Скачиваем версию MySQL необходимую для вашего проекта и запускаем установщик.
Читаем лицензионное соглашение, ставим галочку и нажимаем «Next».
Выбираем «Developer Default» и нажимаем «Next».
Затем нажимаем «Execute» и ждем пока установщик проверит конфигурацию, при необходимости загрузит недостающие компоненты, а затем нажмем «Next».
Соглашаемся с лицензией и запускаем установку.
Параметры сети для MySQL сервера оставляем по умолчанию и нажимаем «Next».
Задаем пароль для root пользователя и нажимаем «Next».
Дальнейшие настройки оставляем по умолчанию и и нажимаем «Next».
Присоединяемся к серверу MySQL серверу.
Принимаем настройки и нажимаем «Finish».
Откроется MySQL Workbench нажмем на «Local instance MySQL» и в появившемся окне введем заданный ранее пароль.
Откроется окно управления нашим MySQL-сервером.
Установка модуля rewrite
Скачиваем Модуль переопределения URL-адресов (URLRewriter) 2.0 для IIS с сайта Microsoft.
Запускаем установщик, читаем лицензионное соглашение, ставим галочку о согласии и нажимаем «Установить».
Ждем завершения установки и нажимаем «Готово»
Установка для Windows Server 2019
Установка для Windows Server 2019 не имеет значительных отличий, но при добавлении ролей и компонентов не нужно указывать «.NET Extensibility» 3.5 и «ASP.NET 3.5».
In this blog, I will discuss on how to install and configure IIS on Windows Server 2012 R2 and what is a web server and IIS. There’s no much difference between the two procedures. The installation is quick and easy. Don’t believe me? Well, don’t worry! Below is a step-by-step guide to make things sound easy and sorted…
Step one: Install the Web Server (IIS) role.
Open the Server Manager and click Add Roles and Features as shown below:
Go on until you reach the Server Roles tab.
Now select the Web Server (IIS).
After selection of web server, click Add Features.
Ignore the Features tab and go on.
Now click Next.
The default configuration will be fine. Click Next.
Click Install.
Installation completed!!!
Step two: Configure IIS.
Go back to the Server Manager. Select Internet Information Services (IIS) Manager from the Manage menu.
Click Add Website.
Specify at least the site name and path. Click Ok.
What is Web Server?
IDE, Vs integrated ASP.Net Engine, is responsible for executing every time of asp.net request and response whenever we run our ASP.net web application. The process name is “WebDev.WebServer.Exe” which takes care of all request and response of a web application which is running from Visual Studio IDE.
When we want to host the application on a centralized location the name “Web Server” comes into the picture and wanted to access from many places. The web server is responsible for handling all the requests that are coming from clients, process them and provide the responses.
What is IIS?
One of the most powerful web servers from Microsoft that is used to host your ASP.NET Web application it is called Internet Information Services (IIS). IIS has its own ASP.NET Process Engine to handle the ASP.NET request. Now, IIS took the coming request and it processes the request on server and send response back to clients
Request Processing in web server
So far it’s clear to you that what is the Web server and IIS is and what is the use of them. Now let’s have a look how the request is processing internally. Moving ahead, you have to know about two main concepts:
1. Worker Process
2. Application Pool
Worker Process:
The asp.net application in IIS is used to run by the Worker Process (w3wp.exe). For all the request and response that are coming from the client system, This w3wp.exe process is responsible for managing. All the ASP.Net functionality runs under the scope of the worker process. Whenever the client request generates to the server from a client worker process is responsible for generating the request and response. In simple words, we can say worker process is the heart of ASP.NET Web Application which runs on IIS.
Application Pool:
This is the container of the worker process. These application pools are used to separate sets of IIS worker processes that share the same configuration. Application pools provide a better security, reliability and availability for any web application.
When multiple worker processes with Application Pool it is called “Web Garden.”
Till now, I have covered all the basics of the Web server, Application Pool, Worker process. Now we move to, how IIS process the request when a new request comes up from a client.
Now I move to IIS 6.0 Architecture, basically, IIS 6.0 Architecture divide them into Two-Layers:
1. Kernel Mode
2. User Mode
HTTP.SYS
HTTP.SYS contains in kernel mode and this kernel mode introduced with IIS6.0. So the client makes a request from Client to Server, then HTTP.SYS hit First.
Now, HTTP.SYS is Responsible for pass the request to the particular Application pool. Here the big question arises that how HTTP.SYS does come to know where to send the request. Whenever we create new Application Pool, the Application Pool is being generated own ID, and it’s registered with the HTTP.SYS.
So, it is the first step of IIS Request Processing architecture.
The second step of IIS Request Processing architecture:
So far, Client Requested for some information and request came to the Kernel level of IIS means at HTTP.SYS. HTTP.SYS has been identified the name of the application pool where to send. Now, we move to the next, how this request moves from HTTP.SYS to Application Pool.
In the user level IIS have Web Admin Services (WAS) and WAS takes the request from HTTP.SYS and pass to the application pool.
After above process Application pool receives the request, it just passes the request to worker process (w3wp.exe). The “w3wp.exe” looks up the URL of the request to load the correct ISAPI extension. The ISAPI extensions are the IIS way to handle requests for different resources. When ASP.NET is installed, it is installed the own ISAPI extension (aspnet_isapi.dll) and its mapping adds into IIS.
When aspnet_isapi.dll loads using worker process, the HTTP Runtime start automatically, which is known as the entry point of an application. HTTP Runtime is a class which calls the Process Request method to start Processing.
When this method called, a new instance of HTTP Context is created. Which is accessible using HTTP Context.Current Properties. This object always remains same at the end of this object request life. We can access some other objects using Http Context.Current like Request, Response, Session, etc.
After that Http Runtime load, an Http Application object with the help of Http Application Factory class.
HTTP Pipeline
Now, the new concept is introduced called “HTTP Pipeline.” this concept is called a pipeline because it contains a set of Http Modules that intercept the request on its way to the Http Handler. The incoming request that has access to classes HTTP Modules. We can also create our HTTP Module if we need to handle anything during upcoming request and response.
Concluding Words
When the user creates the request the web page from a web server, the first request reaches to HTTP.SYS of IIS. Then HTTP.SYS send the request to the particular Application Pool. Then Application Pool forwards the request to worker process to load the ISAPI Extension which will create an HTTP Runtime Object to Process the request via HTTP Module and HTTP handler. After the process, the ASP.NET Page Life Cycle event starts!
- About
- Latest Posts
A technologist, speaker, educator, writer, and a Data Visualization Jedi .
I excel when it comes to making bespoke data dashboards and visualizations that users and clients absolutely love. Sharing about things I enjoy doing is my hobby, whether it’s about a project, collaboration, feedback, or just simple how-to guides about visualization.
If you have something to ask or share, I’d love to hear from you!