Iis windows 10: Как установить IIS на Windows 10/11

Windows 10, IIS 10: доступ к файлам, часть 2 (архитектура IIS): ilyachalov — LiveJournal

Начало: «Windows 10, IIS 10: доступ к файлам, часть 1 (основы, термины)».

Архитектура веб-сервера IIS 10 в теории

Вот схема работы (архитектуры) веб-сервера IIS из документации на сайте компании «Microsoft»:

Эта схема интересна, но не слишком понятна, пока не посмотришь, как она работает на практике. Ниже я попытаюсь это сделать.

Архитектура веб-сервера IIS 10 на практике

Как видно из рисунка выше, программа-сервер IIS 10 реализована в операционной системе «Windows 10» в качестве службы (на самом деле, нескольких служб). «Службой» называют программу, которая работает на компьютере постоянно, в фоновом режиме ожидая запросов от пользователя или других программ. Некоторые службы могут быть запущены по запросу (вручную), другие же запускаются автоматически (при начале работы операционной системы). Программа-сервер IIS 10 запускается автоматически, при начале работы операционной системы.

Все службы (когда они запущены) в списке процессов отображаются именем «svchost.exe» (название этой программы расшифровывается как «Service Host», тут подробнее). Список процессов, запущенных на компьютере, можно посмотреть в программе «Диспетчер задач» (я ее запускаю комбинацией клавиш «Ctrl+Shift+Esc»). Если вы когда-нибудь заглядывали в эту программу, то, думаю, замечали в списке процессов множество позиций с именем «svchost.exe». Так много их потому, что на компьютере постоянно запущено и работает множество разных служб. Одна программа «svchost.exe» может «хостить» (служить главным процессом) и для одной, и сразу для нескольких служб.

Следует отметить, что в программе «Диспетчер задач» есть ряд вкладок, из которых для нас на данный момент интересны первая, которая называется «Процессы», и две последние, которые называются «Подробности» и «Службы». Вот как они выглядят у меня:

Окно программы «Диспетчер задач», вкладка «Процессы»:

Окно программы «Диспетчер задач», вкладка «Подробности»:

Окно программы «Диспетчер задач», вкладка «Службы» (из этой вкладки, внизу, по ссылке «Открыть службы», можно открыть сохраненную консоль «Службы» [файл «services. msc»] программы «mmc.exe»):

Как видно из иллюстраций, приведенных выше, один процесс с идентификатором 3392 и с именем «svchost.exe» хостит (является главным процессом) сразу две службы: «WAS» и «W3SVC» (это соответствует схеме из документации с сайта компании «Microsoft», приведенной в начале данного поста). Понятно, что идентификатор 3392 тут не имеет значения, он назначается случайным образом при запуске процесса, его удобно использовать, чтобы сопоставить строки на разных вкладках программы «Диспетчер задач».

Название службы «WAS» расшифровывается как «Windows Activation Service» (по-русски «Служба активации Windows»), а точнее «Windows Process Activation Service». Название немного запутывает: имеется в виду не активация операционной системы «Windows», а запуск некоторых процессов операционной системы «Windows». Эта служба используется и для веба (протоколы HTTP и HTTPS) и для сетевого общения по другим протоколам. Как видно из схемы из начала данного поста, служба «WAS» получает настройки веб-сервера IIS из главного файла настроек «applicationHost. config» и вводит эти настройки в действие.

Название службы «W3SVC» расшифровывается как «World Wide Web Publishing Service», по-русски «Служба веб-публикаций».

Работая вместе, эти две службы в случае необходимости запускают так называемые «рабочие процессы» (по-английски «worker process») веб-сервера IIS.

Отмечу, что и главный процесс «svchost.exe», и хостящиеся на нем службы «WAS» и «W3SVC» по умолчанию запускаются от имени учетной записи пользователя «СИСТЕМА» (это видно на одной из иллюстраций выше, на вкладке «Подробности» программы «Диспетчер задач»). Эту учетную запись вы не найдете в списке пользователей в программе (сохраненной консоли программы «mmc.exe») «Управление компьютером». Но это одна из служебных встроенных учетных записей операционной системы (тут подробнее).

Рабочие процессы веб-сервера IIS, пулы приложений

Две вышеописанные службы «WAS» и «W3SVC» не обеспечивают саму работу сайтов и веб-приложений, находящихся под управлением веб-сервера IIS. Для каждого отдельного сайта и/или веб-приложения можно назначить запуск отдельного процесса, который называют «рабочим процессом», уже упомянутым выше. Это делается с помощью так называемого «пула приложений» (по-английски «application pool»). Грубо говоря, каждый рабочий процесс веб-сервера IIS соответствует своему пулу приложений.

Отдельные пулы приложений (отдельные рабочие процессы) для отдельных сайтов и/или веб-приложений придумали для обеспечения безопасности. При такой архитектуре один сайт не может вмешаться в работу другого сайта и/или веб-приложения, если они используют разные пулы приложений. Тут всё зависит от настроек: можно настроить работу веб-сервера так, что к одному пулу приложений будет привязано несколько сайтов и/или веб-приложений. Либо можно для каждого сайта и/или веб-приложения создавать свой собственный пул приложений. Эти настройки можно выполнить в программе «Диспетчер служб IIS».

Даже статический сайт на веб-сервере IIS работает через пул приложений. Мы рассматриваем настройки веб-сервера IIS по умолчанию, поэтому будем говорить про сайт «Default Web Site», который был создан автоматически по умолчанию при включении веб-сервера IIS. Если посмотреть в его основных настройках, он привязан к пулу приложений «DefaultAppPool», который тоже был создан автоматически по умолчанию при включении веб-сервера IIS.

Посмотрим, как это работает на практике. У меня в корневой папке сайта «Default Web Site» размещена простая HTML-страница «index.html». То есть это, можно сказать, маленький статический сайт. Я открываю браузер и перехожу по URL-адресу http://localhost/, после чего браузер отображает упомянутую HTML-страницу «index.html». Чтобы это произошло, рассмотренные выше две службы «WAS» и «W3SVC» обеспечивают запуск рабочего процесса для пула приложений «DefaultAppPool», через который работает мой маленький статический сайт «Default Web Site». Этот рабочий процесс обладает именем «w3wp.exe».

После перехода на статическую HTML-страницу рабочий процесс «w3wp. exe», соответствующий определенному пулу приложений, можно увидеть на вкладках «Процессы» и «Подробности» программы «Диспетчер задач». Или открыв функцию «Рабочие процессы» веб-сервера IIS в программе «Диспетчер служб IIS». Вот как это выглядит у меня:

Как видно на иллюстрации с вкладкой «Подробности» программы «Диспетчер задач» выше, рабочий процесс «w3wp.exe», представляющий пул приложений «DefaultAppPool», запущен от имени учетной записи пользователя «DefaultAppPool» (это по умолчанию, а вообще эта настройка может быть изменена). Для каждого пула приложений на веб-сервере IIS имеется своя встроенная учетная запись, имя которой совпадает с именем пула приложений. Следует иметь в виду, что, опять же, как и в случае с учетной записью «СИСТЕМА», описанной ранее в этом посте, встроенные учетные записи пулов приложений не показаны в списке пользователей в программе (сохраненной консоли программы «mmc.exe») «Управление компьютером».

Кроме этого, отмечу, что рабочий процесс «w3wp. exe» не остается запущенным постоянно, как службы «WAS» и «W3SVC», а через некоторое время (минут через пятнадцать у меня) исчезает из списка запущенных процессов. То есть он завершается, если от браузера не поступает новых HTTP-запросов к пулу приложений, который представляет данный процесс «w3wp.exe».

Процессы, запускаемые веб-сервером IIS для скриптов на языке PHP

Выше я описал работу веб-сервера IIS для статического сайта. А как веб-сервер IIS работает в случае динамического сайта? Для примера я поместил в корневую папку сайта скрипт на языке PHP в файле «phpinfo.php». Напомню, у меня установлен интерпретатор PHP версии 8.1.10 и он настроен для работы с веб-сервером IIS. Я открыл страницу с этим скриптом в браузере по URL-адресу http://localhost/phpinfo.php, скрипт сформировал HTML-страницу так, как от него ожидалось. После этого я посмотрел, какие процессы появились в списке процессов в программе «Диспетчер задач» на вкладках «Процессы» и «Подробности». Вот что у меня там оказалось:

Как видно из иллюстраций, приведенных выше, как и в случае с статическим сайтом, тут тоже запустился рабочий процесс «w3wp.exe», представляющий пул приложений «DefaultAppPool» (хотя я могу разместить веб-приложение в отдельной папке и создать для него отдельный пул приложений, если мне этого захочется). Кроме этого, запустился еще процесс «php-cgi.exe», связывающий веб-сервер IIS и интерпретатор PHP через интерфейс FastCGI.

Отмечу, что порядок запуска процессов такой: «svchost.exe» запускает «w3wp.exe» (пул приложений), а «w3wp.exe», в свою очередь, запускает «php-cgi.exe». Если дальнейших запросов от браузера не поступает, процессы «w3wp.exe» и «php-cgi.exe» через некоторое время (у меня минут через пятнадцать) автоматически завершаются и исчезают из списка процессов в программе «Диспетчер задач».

Как видно на иллюстрации выше, процесс «php-cgi.exe» по умолчанию тоже запускается от имени учетной записи пользователя «DefaultAppPool», это та же учетная запись, от имени которой запущен процесс «w3wp. exe». Если открыть функцию «Рабочие процессы» в окне программы «Диспетчер служб IIS», в этом окне будет отображен только процесс «w3wp.exe», а процесс «php-cgi.exe» там отображен не будет (его видно только в программе «Диспетчер задач»).

Продолжение следует.

Установка информационных служб Интернета (IIS) (KB20111201) (документация DriveWorks)

По умолчанию роль веб-сервера (IIS) не устанавливается вместе с операционной системой.

Windows 10 и Windows 11

При запуске IIS на компьютере с Windows 10 помните об ограничении количества подключений.

Дополнительные сведения см. в разделе Ограничение на количество подключений к IIS в Windows 10.
информация.

  1. С помощью кнопки «Пуск» Windows введите appwiz.cpl и выберите «Открыть».
  2. Щелкните Включить или отключить функции Windows.
  3. Прокрутите вниз и выберите Internet Information Services, оставьте выбранными все значения по умолчанию, но убедитесь, что указано ниже.
    опции включены.

    • Функции разработки приложений — ASP.NET 4.x

      Отображаемый номер версии зависит от номера версии установленной .NET Framework.

      Если отображается несколько версий, выберите наибольший номер (последняя версия).

    • Особенности разработки приложений — протокол WebSocket

      Одним из ограничений HTTP является то, что он был разработан как однонаправленный метод связи.

      Однако для многих современных веб-приложений (DriveWorks Live) требуется двусторонний обмен данными в режиме реального времени.
      связи для оптимальной работы.

      DriveWorks Live при запуске через IIS использует протокол WebSocket для реализации двусторонней связи
      через Интернет между Клиентом и Сервером.

      Дополнительные сведения о веб-сокетах см. в статье IIS.
      Поддержка протокола WebSocket 8.0.

    • Функции производительности — динамическое сжатие
  4. После того, как было выбрано вышеперечисленное, а значения по умолчанию не были изменены, убедитесь, что весь выбор выглядит
    как на изображении ниже.

    Выделенные параметры выбраны на шаге 3 выше.

  5. Нажмите OK и продолжите работу мастера, компонент будет установлен.

Диспетчер IIS теперь можно запустить с помощью кнопки запуска.

Windows Server

  1. Запустите Диспетчер серверов с помощью кнопки «Пуск» и выберите «Управление» в правом верхнем меню, выберите «Добавить роли» и
    Функции.
  2. Нажимайте «Далее» в мастере, пока не появится окно «Роли сервера».
  3. Установите флажок Веб-сервер (IIS) и оставьте выбранным значение по умолчанию, но убедитесь, что следующие параметры включены.
    • Характеристики производительности — динамическое сжатие
    • Функции разработки приложений — ASP.NET 4.x

      Отображаемый номер версии зависит от номера версии установленной .NET Framework.

      Если отображается несколько версий, выберите наибольший номер (последняя версия).

    • Возможности разработки приложений — протокол WebSocket

      Одним из ограничений HTTP является то, что он был разработан как однонаправленный метод связи.

      Однако для многих современных веб-приложений (DriveWorks Live) требуется двусторонний обмен данными в режиме реального времени.
      связи для оптимальной работы.

      DriveWorks Live при запуске через IIS использует протокол WebSocket для реализации двусторонней связи.
      через Интернет между клиентом и сервером.

      Дополнительные сведения о веб-сокетах см. в статье IIS.
      Поддержка протокола WebSocket 8.0.

  4. Щелкните Далее и завершите работу мастера, компонент будет установлен.

Диспетчер IIS теперь можно запустить с помощью кнопки запуска.


Ссылка на статью базы знаний: KB20111201

См. также:

Как настроить IIS для Интернета и тему приложения

Как настроить IIS для Тема интеграции

Практическое руководство. Устранение неполадок IIS

Установка IIS в Windows 10 и Windows Server 2019 | Адриан Дженкинс

4 минуты чтения

·

29 ноября 2021 г.

Помните, что IIS означает Internet Information Services, если вы не знаете, что это такое, вы можете прочитать мой последний пост, объясняющий, что такое IIS, или не стесняйтесь используйте свой любимый браузер, чтобы найти его!

Windows 10

Во-первых, вы должны включить его. Найдите «Включение или отключение компонентов Windows».

Найдите «Информационные службы Интернета», проверьте его и нажмите «ОК».

Представление компонентов Windows

Оно должно быть уже установлено, найдите «IIS» и откройте «Диспетчер информационных служб Интернета (IIS)»:

Представление «Диспетчер информационных служб Интернета»

В диспетчере информационных служб Интернета вы можете увидеть щелкнув раскрывающееся меню слева, и снова в раскрывающемся меню «Сайты» вы должны увидеть «Веб-сайт по умолчанию». Его корневая папка находится в папке «C:\inetpub\wwwroot».

Представление диспетчера информационных служб Интернета

В браузере введите «localhost», и вы должны увидеть следующее:

Представление веб-сайта по умолчанию

Отлично! Вы только что установили IIS в Windows!

Windows Server 2019

Создайте бесплатную пробную учетную запись Microsoft Azure и виртуальную машину с Windows Server 2019. раз, пока вы не окажетесь на следующем экране, выполните поиск «IIS» и установите флажок:

Появится всплывающее окно, просто нажмите «Добавить функции».

Нажмите «Далее» четыре раза и «Установить».

После завершения установки вы можете закрыть ее и выполнить поиск «IIS».

По умолчанию уже настроен веб-сайт. Вы можете просмотреть его, набрав «localhost» в браузере или введя свой IP-адрес. Помните, что его корневая папка находится в папке «C:\inetpub\wwwroot».

При установке активирует правило брандмауэра HTTP-порта (80) в брандмауэре Windows.

Модули расширяют функциональные возможности, предоставляемые IIS. Они могут обеспечить перезапись URL-адресов, аутентификацию, возможности отслеживания, сжатие и многое другое.

Windows 10

Найдите «Включение или отключение компонентов Windows»:

«Панель управления > Программы > Включение или отключение компонентов Windows»

Щелкнув раскрывающееся меню, вы найдете все модули, флажок те, которые вы хотите установить, и нажмите «ОК».