Веб-сервер представляет собой некоторую программу (службу), принимающую 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 | Эта служба обеспечивает передачу электронных новостей по сети. |
Обычно, когда говорят о web-сервере, подразумевают решения на базе платформы Linux. Но если ваша инфраструктура развернута на основе Windows Server то логично будет использовать веб-сервер IIS. Вопреки распространенному мнению, это весьма популярная платформа, которая позволяет работать как с большинством популярных CMS, так и имеет широкий спектр систем, предназначенных для работы именно на Windows и IIS.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Несомненным достоинством IIS является его тесная интеграция с другими технологиями и средствами разработки Microsoft. В частности веб-решения для IIS могут использовать богатые возможности .NET и легко взаимодействовать с настольными приложениями на этой платформе. Если же вас это пока не интересует, то к вашим услугам богатый выбор готовых CMS, в том числе написанных специально для IIS. Сегодня мы рассмотрим как установить и настроить IIS для работы с веб-решениями на базе ASP.NET и установим одну из популярных CMS для этой платформы.
Для установки веб-сервера на платформе Windows перейдем в оснастку Роли в Диспетчере сервера и выберем установку ролей Веб-сервер (IIS) и Сервер приложений.
Но не спешите нажимать Далее, слева, под названием каждой роли, доступна опция Службы ролей, перейдем на нее и установим для Сервера приложений следующие опции: Поддержка веб-сервера (IIS), Общий доступ к TCP-портам и Активация через HTTP.
А для веб-сервера установите службу FTP-сервер.
После чего установите выбранные роли. Для проверки работоспособности IIS наберите в браузере IP-адрес вашего сервера, вы должны будете увидеть стандартную страницу-заглушку веб-сервера.
Теперь перейдем в к настройке сервера, для этого откроем Диспетчер служб IIS (находится в Пуск — Администрирование).
Первым делом создадим новый сайт, для этого щелкните правой кнопке на пункте Сайты в боковом меню Диспетчера IIS и выберите Создать новый сайт.
В открывшемся окне укажите имя сайта, путь к корневой папке (по умолчанию сайты пользователей располагаются в C:inetpubwwwroot), которую следует предварительно создать и укажите имя узла (доменное имя сайта), в нашем случае iissite.local
Не забудьте добавить A-запись с именем вашего сайта на DNS-сервер или пропишите необходимые строки в файлы hosts тех рабочих станций, откуда будете обращаться к сайту
В принципе вы уже можете размещать в папке сайта web-страницы и получать к ним доступ через браузер, но для полноценной работы с сайтом не помешает FTP-доступ к нему. Для этого щелкните правой кнопкой по названию вашего сайте в боковом меню и выберите Добавить FTP-публикацию
Далее укажите привязку FTP-cлужбы к сетевым интерфейсам и портам, а также настройте параметры безопасности. Если вы собираетесь использовать SSL, то учтите что вам потребуется сертификат, хотя если вы будете использовать FTP-доступ только для собственных нужд, то можно обойтись самоподписанным сертификатом. Не забудьте поставить галочку для автоматического запуска FTP-сайта.
На следующей странице укажите параметры доступа к серверу, мы советуем указывать конкретных пользователей, которые будут работать с данным сайтом.
Попробуйте подключиться через FTP используя любой клиент и загрузите проверочную html страницу с именем index.html, пример такой страницы мы приводили здесь. Если все сделано правильно, то, набрав в браузере имя нашего сайта, вы увидите такую страницу:
Веб-сервер настроен и вы можете использовать его для размещения HTML-страниц, однако современные сайты используют для хранения своих данных СУБД, поэтому следующим шагом установим MS SQL Express 2012, возможностей которого с лихвой хватит для наших задач. Установка производится со значениями по умолчанию, кроме Режима проверки подлинности, который следует переключить в Смешанный режим и задать пароль суперпользователю SQL-сервера sa.
Теперь попробуем установить какую либо популярную CMS созданную на базе технологии ASP.NET, обширный выбор таких решений представлен в галерее web-приложений Microsoft. Обратите внимание, что по кнопке скачать вы получите пакет для установки через Web PI, для установки на IIS вам потребуется перейти на сайт разработчика и скачать полный пакет с CMS
Мы будем устанавливать Orchard CMS, для получения пакета пройдите по ссылке и выберите Загрузить как zip, распакуйте полученный архив и закачайте в корень сайта содержимое папки Orchard.
Данная CMS создана на базе ASP.NET 4, поэтому настроим наш сайт на использование необходимых технологий. Для этого щелкните правой кнопкой на имени сайта в боковом меню и выберите Управление веб-сайтом — Дополнительные параметры
В открывшемся окне измените параметр Пул приложений, указав там ASP.NET v.4
Затем установите необходимые права на папку с сайтом, вам нужно добавить пользователю IIS_IUSRS возможность записи и изменения содержимого данной папки.
Также не забудьте создать базу данных для сайта, для этого зайдите в SQL Server Management Studio и, щелкнув правой кнопкой на пункте Базы данных в боковом меню, создайте новую базу.
Для установки CMS наберите в браузере адрес сайта и следуйте указаниям скрипта установки. Никаких сложностей там нет, единственное затруднение может вызвать правильное указание параметров подключения к SQL-серверу. Укажите что вы используете SQL Server (или SQL Express)
В строке подключения ниже укажите следующее:
server=SERVERNAMESQLEXPRESS;database=iissite;user=sa;password=sapasswd;
где:
- server=SERVERNAMESQLEXPRESS — имя сервера, на котором установлен SQL-сервер, и экземпляра SQL-сервера.
- database=iissite — имя базы данных (в нашем случае iissite)
- user=sa — пользователь СУБД (в нашем случае sa)
- password=sapasswd — пароль пользователя sa.
Так как наш сайт предназначен для внутреннего использования и использует изолированный экземпляр SQL, то мы использовали для доступа к серверу параметры пользователя sa, если же вы собираетесь размещать на веб-сервере несколько сайтов и администрировать их будут разные пользователи, то заведите на SQL сервере дополнительных пользователей и для подключения используйте их учетные данные, не забыв ограничить им доступ только к «своим» базам.
Спустя некоторое время, необходимое для установки CMS, в вашем браузере отобразиться страница сайта с тестовым содержимым. Можете переходить в админ-панель и настраивать сайт согласно ваших потребностей.
Несмотря на то, что мы рассмотрели установку только одного «движка», установка других CMS производится аналогичным образом и сложностей вызвать не должна
В следующей части нашей статьи мы расскажем как добавить нашему серверу поддержку PHP для запуска на нем популярных CMS написанных на этом языке.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Сегодня мы покажем, как на базе Windows 8 / Windows Server 2012 развернуть собственный веб-сервер IIS с поддержкой языка PHP. Впоследствии на данной платформе можно будет запустить большинство современных CMS, написанных на этом самом популярном (но далеко не самом лучшем) на данный момент языке разработки веб-приложений.
Содержание:
- Установка IIS в Windows 8
- Установка IIS в Windows Server 2012
- Установка PHP на Windows 8 / Windows Server 2012
- Тестируем работу PHP на IIS
Установка IIS в Windows 8
В Windows 8 веб-сервер IIS 8 поставляется в качестве отдельной функции и по умолчанию он не установлен. Чтобы установить IIS в Windows 8, откройте Панель управления и в разделе Program and Features (appwiz.cpl) нажмите на кнопку Turn Windows features on or off.
В открывшемся окне поставьте чекбокс у пункта Internet Information Service и нажмите ОK.
Примечание. По умолчанию IIS устанавливается в минимальной конфигурации.
После окончания установки, проверим что наш веб-сервер работает. Для этого запустите Internet Explorer (или любой другой браузер) и в его адресной строке наберите http://localhost (или ).
Если IIS функционирует корректно, должна отобразиться такая страница:
Установка IIS в Windows Server 2012
В Windows Server 2012 веб-сервер Internet Information Services можно установить из консоли Server Manager, выбрав для установки роль Web Server IIS.
Согласимся с предложенными по-умолчанию компонентами, установив дополнительно только CGI (находится в разделе Application Deployment ролей IIS).
Далее запустим установку роли, после окончания которой, сервер потребуется перезагрузить.
Протестируем работу IIS, открыв в браузере страницу http://localhost.
Установка PHP на Windows 8 / Windows Server 2012
Для установки PHP нам понадобится установщик Microsoft Web Platform Installer 5.0 (WPI), скачать который можно по этой ссылке: http://www.microsoft.com/web/downloads/platform.aspx (wpilauncher.exe.)
Совет. Преимущество использования установщика PHP в составе Microsoft Web Platform перед ручной установкой PHP заключается в следующем:
- WPI сам определяет необходимую версию PHP и устанавливает актуальную на данный момент версию
- WPI сам настраивает интеграцию с IIS, позволяет установить расширения PHP без необходимости вручную настраивать конфигурационные файлы
- WPI в дальнейшем позволяет легко обновить PHP без потери конфигурационных файлов
Запустим скачанный файл wpilauncher.exe. и в появившемся окне установщика Web Platform Installer перейдем на вкладку Products и в списке доступных продуктов найдите строчку PHP 5.5.11.
Нажмем кнопку Add и затем Install. Перед началом установки WPI проверит вашу систему на соответствие требованиям ( в случае необходимости будет предложено установить недостающие компоненты), после чего запустится установка PHP.
Тестируем работу PHP на IIS
После того, как PHP установлен, проверим, что он работает корректно. Для этого перейдем в корневой каталог веб-сервера (по умолчанию C:inetpubwwwroot) и создадим новый текстовый файл с расширением PHP (например, test.php).
Откроем его в любом текстовом редакторе и вставим в него такой код:
<?php
phpinfo();
?>
Далее в браузере в адресной строке укажем такой url-адрес: . Если все настроено верно, в окне должна появится о версии и основных конфигурационных настройках установленной версии PHP (PHP Info).
Совет. Конфигурационные настройки PHP хранятся в файле php.ini, который находится в корне каталога установки.
На этом все! Итак, мы рассмотрели самый простой способ развернуть полноценный веб-сервер IIS с поддержкой PHP 5.x на базе Windows Server 2012 / Windows 8.
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».
Пришла задача поднять 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.
Даже не пришлось ребутать сервер.
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!
Обновлено 14.11.2017
Добрый день уважаемые читатели и гости блога. Для меня было большим удивлением, что в Америке и в Европе, очень много хостинов используемых людьми, построены на Windows Internet Information Services, и ее доля там больше чем Linux Apache или nginx. В сегодняшнем посте я бы хотел рассказать, начинающим системным администраторам, как создавать сайты iis в Windows Server 2012 R2, точнее административную часть, так как там уже вы сами будите выбирать, будет ли это ресурс на движке Werdpress или же статический сайт, вариантов очень много.
Подготовка IIS для развертывания сайта в IIS
И так для нашей задачи, вы уже должны иметь развернутую службу IIS, как это сделать, я рассказывал в отдельной статье. Теперь перейдем к практике и подготовим его для последующих вещей. Открываем диспетчер IIS. Найти этот пункт можно в диспетчера сервера.
Я хочу создать отдельный сайт, пускай это будет iis.pyatilistnik.org, для этого переходим в пункт сайты и через правый клик ,выбираем пункт «Добавить веб-сайт»
Само создание сайта iis состоит из вот таких не хитрых пунктов. Во первых, вы задаете:
- Имя сайта — у меня это iis.pyatilistnik.org
- Указываете физический путь — это та папка в которой будет лежать контент для сайта, например, картинки, документы, html странички, если сайт с базой данных, то многое будет лежать в ней.
Далее вы производите привязку сайта к нужному ip адресу, делается это после того, как вы на своем DNS сервере создали A или Cname запись для ресурса. Так же задаем тип привязки, имеет ввиду протокол, тут их всего два обычный незащищенный http и защищенный сертификатом шифрования https, о нем я подробно говорил.
Ну и последним шагом в данном окне, будет указание имени узла, имеется ввиду по какому dns имени, будут фильтроваться заголовки, чтобы попасть на нужный сайт, так как на 80 порту их может висеть очень много.
Пробуем запустить ваш сайт. И так, сайт в диспетчере IIS на Windows Server 2012 r2 мы создали, пробуем его запустить, для этого у вас есть в пункте управление веб-сайтом, отдельный пункт «Обзор»
Если все хорошо, то вы получите доступ к ресурсу, если же нет, то увидите запрещающее сообщение:
Ошибка HTTP 403 — Forbidden
Тут два варианта:
- У вас пустая папка с сайтом, попробуйте поместить в нее, хотя бы картинку, для тестирования
- У вас просто нет прав на чтение данного каталога на уровне Windows
С первым вариантом, все понятно, кладем в папку нужный контент, во втором случае, вам нужно назначить права, я дам их для группы «Все» на чтение. Делается это просто, выберите папку и щелкните по ней правым кликом, выберите свойства.
Перейдите на вкладку «Безопасность > Изменить > Добавить > Проверить имя» и через поиск найти нужную группу.
Назначаем нужный уровень прав для созданного сайта IIS, у меня это чтение и выполнение.
Открываем в браузере ваш сайт и проверяем.
Если у вас появляется окно, что не удается отобразить эту статью, то у вас с большой вероятностью, либо не правильная привязка к порту, либо не открыт порт на брандмауэре.
Следующим шагом, у вас встанет вопрос какого типа будет ваш сайт и нужно ли для его настройки добавлять новые компоненты или же устанавливать сторонние, по типу PHP или MySQP для WordPress. Далее я вам советую, разобраться в вопросе проверки подлинности IIS и как она настраивается.