Iis перезапуск iis


Содержание

IIS 6.0 F1: Перезапуск IIS

Перезапуск или останов служб IIS, равно как и перезагрузку веб-сервера, следует рассматривать как крайнюю меру. При перезапуске служб Интернета прекращаются все сеансы, подключенные к веб-серверу (в том числе сеансы Интернета, FTP, протоколы SMTP и NNTP). Все данные, хранящиеся в веб-приложениях, теряются. Все веб-сайты становятся недоступными до тех пор, пока службы Интернета не будут запущены вновь. В связи с этим следует по мере возможности избегать перезапуска, остановки и перезагрузки сервера. В состав IIS 6.0 включено средство повторного запуска пулов приложений и ряд других средств, рекомендуемых в качестве альтернативы перезапуску IIS. Список возможностей, помогающих повысить надежность IIS и устранить необходимость перезапуска, см. в разделе «Перезапуск IIS» в справке IIS.

К службам Интернета относится веб-служба, а также службы FTP, протоколы SMTP и NNTP и службы администрирования IIS.

Какая операция должна быть выполнена в IIS?

Список вариантов перезапуска IIS, с описанием сути и последствий каждого варианта.

Запуск служб Интернета

Запуск всех служб Интернета. Для изменения списка служб, которые запускаются автоматически, можно воспользоваться узлом Службы в оснастке «Управление компьютером». Если службы Интернета не отвечают после выдачи этой команды, перезагрузите компьютер.

Остановка служб Интернета

Остановка всех служб Интернета. Прекращаются все сеансы, подключенные к веб-серверу (в том числе сеансы Интернета, FTP, протоколы SMTP и NNTP). Все данные, хранящиеся в веб-приложениях, теряются. Все веб-сайты становятся недоступными до тех пор, пока службы Интернета не будут запущены вновь. При внесении определенных изменений в IIS возникает необходимость остановить службы Интернета, чтобы зарегистрировать эти изменения; например, это требуется при установке нового компонента COM или фильтра ISAPI.

Перезагрузка сервера. Перезагрузку сервера следует рассматривать как крайнюю меру. Прекращаются все сеансы, подключенные к веб-серверу (в том числе сеансы Интернета, FTP, протоколы SMTP и NNTP). Все данные, хранящиеся в веб-приложениях, теряются. Все веб-сайты становятся недоступными до тех пор, пока сервер и службы Интернета не будут запущены вновь.

Перезапуск служб Интернета

Остановка и последующий перезапуск всех служб Интернета. Прекращаются все сеансы, подключенные к веб-серверу (в том числе сеансы Интернета, FTP, протоколы SMTP и NNTP). Все данные, хранящиеся в веб-приложениях, теряются. Все веб-сайты становятся недоступными до тех пор, пока службы Интернета не будут запущены вновь.

См. также

Дополнительные сведения о перезапуске IIS, включая список возможностей, помогающих повысить надежность IIS и тем самым уменьшить вероятность возникновения необходимости в перезапуске сервера или служб Интернета, см. в
документации по IIS 6.0 в Интернете в техническом центре Microsoft Windows Server.

IIS 7.0: краткая инструкция для системного администратора. Часть 1 – пpoверка результатов установки.

Продолжаем говорить об процедуре установки веб сервера под управлением IIS 7.0 на Windows Server 2008, которая была рассмотрена в предыдущем посте.

Теперь перейдем к проверке результатов установки IIS 7.0. Самый простой вариант проверить, работает ли веб сервер, особенно – находясь за локальной консолью, это обратиться из любого веб-браузера по адресу http://localhost/. Далее, проверить с локальной и удаленной машины по IP-адресу.

При установке IIS 7.0 создается веб сайт по умолчанию, сконфигурированный на ответ при любом URL-запросе, поступившем на порт 80 любого сетевого интерфейса сервера, на котором установлен IIS 7.0. Т.е. запрос браузера типа http://localhost/ должен быть обработан как запрос к веб сайту по умолчанию. Содержимое сайта по умолчанию представляет собой 2 файла – iisstart.htm и welcome.png (который отображается в iisstart.htm), которые и будут открыты клиентом. Поэтому результат обращения к localhost будет иметь следующий вид:


Теперь, если все хорошо (если «плохо» – поиск неисправностей и ошибок мы рассмотрим позже, в отдельном разделе), убедимся, что все модули, которые должны быть установлены по умолчанию – подключены и работают, а базовая конфигурация – отвечает нашим требованиям.

1. Основным инструментом управления IIS 7.0 является консоль Internet Information Services (IIS) Manager, которая устанавливается по умолчанию, вместе с ролью Web Server в Windows Server 2008 (IIS Management Console, раздел Management Tools при установки модулей). После соответствующей установки консоль управления IIS 7.0 можно найти, как дочернюю запись внутри раздела Web Server (IIS) в разделе ролей Server Manager, либо как пункт в разделе Administrative Tools меню Start, либо выполнив команду inetmgr (в командной строке или через пункт Run того же меню Start).

2. При старте консоль Internet Information Services (IIS) Manager открывается с «домашней страницей», на которой в виде панелей находится информация о том, к каким веб серверам и веб сайтам подключался пользователь консоли до этого (если консоль только установлена вместе с ролью Web Server (IIS), то в консоле присутствует запись только о локальном веб сервере), также присутствуют ссылки для выбора подключения к другим серверам, веб сайтам, веб приложениям и папкам, а также ссылки на внешние ресурсы, посвященные IIS.

3. Кроме того, на домашней странице присутствует панель новостей, которые подгружаются как новостная RSS-лента с сайта www.iis.net, если администратор нажимает на ссылку Enable IIS News. Новости, кстати, очень полезные, рекомендуется включать и использовать эту информацию в повседневной работе.

4. При подключении к какому либо веб серверу IIS 7.0 консоль Internet Information Services (IIS) Manager представляет его конфигурацию, как логическую структуру – уровень самого веб сервера, чьи настройки являются глобальными и распространяются по умолчанию на все веб сайты, пулы приложений и, сообственно, веб сайты со своими настройками. Эта конфигурационная иерархия, в виде разворачивающегося дерева, начинающегося с узла с именем (или IP) веб сервера, отображается в левой панели консоли Internet Information Services (IIS) Manager.

5. Если выбрать какой-то узел в дереве конфигурации, то в центральной панель консоли Internet Information Services (IIS) Manager будут отображены в виде отдельных иконок все параметры (а также – модули или списки), соответствующие конфигурации выбранного узла, а в правой панели – набор контекстных задач и операций, которые администратор (или пользователь) может выполнить над данным узлом.

6. Выбираем верхний узел, узел веб сервера, в котором представлены иконки, отвечающие за параметры работы модулей всего веб сервера, эти параметры наследуются по умолчанию для всех веб сайтов. Убеждаемся, что все необходимые модули установлены и отображены. Снимок экрана при установке конфигурации по умолчанию приведен ниже.

7. В правой панели при выборе узла веб сайта отображаются все операции, возможные для выполнения непосредственно с веб сервером (службами IIS в целом) в данном конексте – перезапуск, останов, запуск, переход к пулам приложений и сайтам.

8. Убеждаемся, что пулы приложений (Application Pools) сконфигурированы. Пулы приложений будут рассмотрены позже. Пулы являются дочерним узлом в дереве конфигурации для узла веб сайта. При установке по умолчанию создается только один пул – DefaultAppPool, в котором регистрируется одно приложение – сконфигурированный по умолчанию веб сайт, работу которого мы уже проверили. См. снимок экрана.

9. Ниже узла пулов приложений в дереве конфигурации находится узел веб сайтов (Sites), при выборе которого отображается список работающих на данном веб сервере веб сайтов. По умолчанию создается один веб сайт под названием Default Web Site с внутренним номером (ID) равным 1, «привязанный» на 80 порт всех IP-адресах всех сетевых интерфейсов к любому URL в запросе, и использующий в качестве домашнего каталога своего контента каталог с путем %SystemDrive%\inetpub\wwwroot (что при установленном Windows Server 2008 на диск C: соответствует C: \inetpub\wwwroot).

10. При выборе в левой панели консоли узла веб сайта (Default Web Site), также, как и в случае с выбором узла веб сервера, в центральной панели отображаются иконки для доступа к параметрам конфигурации различных модулей, на этот раз – конкретного веб сайта. Убеждаемся, что также, как и в случае со всем веб сервером, все необходимые модули представлены в центральной панели.

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

В принципе, для базовой проверки работоспособности и целостности установки данных шагов вполне достаточно. Но если вы хотите поближе познакомиться с «полным» набором настроек и конфигурацией «по умолчанию» – то можете проделать следующие шаги.

12. Выберите узел веб сервера в дереве конфигурации в левой панели консоли Internet Information Services (IIS) Manager. В центральной панели кликните на иконку Modules. В центральной панели откроется следующий полный список установленных по умолчанию модулей, представляющий из себя перечень .dll файлов.

13. Чтобы убедиться, что веб сервер будет работать только со статическими файлами (по умолчанию) или только с нужными вам расширениями – выберите снова узел веб сервера и в центральной панели кликните на иконку Handler Mappings. Откроется список «привязки» расширений вызываемых на веб сайте пользователем файлов и привязанных к данным расширениям модулям, выполняющим обработку данного вызова. Обратите внимание, что по умолчанию все файлы привязаны к модулю обработки статических файлов (т.е. запрос какого либо скриптового или исполнимого файла из домашнего каталога веб сайта не будет приводить к его исполнению на сервере, а лишь к передаче данного файла пользователю), а также к модулям документа по умолчанию и просмотра каталога. С этими модулями мы познакомимся позже.

14. И, наконец, для того, чтобы убедиться в безопасности веб сайта – проверьте параметры его аутентификации. Для этого выбираем иконку Authentication в той же центральной панели. По умолчанию никаких модулей аутентификации веб сервер (и веб сайты) не поддерживает. Т.е. все подключения для него анонимны. В чем безопасность? Это значит, что пользователям будет доступен только то содержимое домашних каталогов сайтов – файлы и подкаталоги – которые имеют NTFS разрешения для чтения «всем» (Everyone). В случае, если таких разрешений файл не имеет, пользователю будет отказано в доступе с соответствующей ошибкой 401. Если же пользователь попробует каким-то образом аутентифицироваться в процессе HTTP запроса на сервере – то поскольку никаких модулей аутентификации, кроме анонимного, на веб сервере не установлено – он снова получит соответствующую ошибку 401.

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

Итак, сервер установлен и его работоспособность проверена. Теперь достаточно поместить какой либо статический контент (файлы HTML, изображения, документы и файлы для выгрузки пользователями) в домашний каталог его сайта по умолчанию (напоминаю, что это в большинстве случаев C:\inetpub\wwwroot) – и веб сайт под управлением IIS 7.0 начнет работать. Ну, и конечно, для внешних сайтов – не забыть прописать их A-record в вашей доменной зоне на публичном DNS сервере.

В следующей части – установка IIS 7.0 в режиме командной строки, особенности работы IIS 7.0 на Server Core.

Установка IIS на Windows Server


Узнайте, как установить службу Internet Information Services (IIS) на серверы с операционными системами Windows Server 2012 R2 и Windows Server 2008 R2.

IIS (Internet Information Services) — набор сервисов от компании Microsoft для работы веб-сервера и других интернет служб. IIS устанавливается на сервер и работает с протоколами HTTP/HTTPS, POP3, SMTP, FTP, NNTP. В 2015 году была выпущена 10 версия IIS, разработанная под Windows Server 2020.

Установка IIS на Windows Server 2008

Обратите внимание, что по умолчанию не устанавливаются такие сервисы, как ASP.NET , фильтры ISAPI и др.

Нажмите «Установить» (Install) для начала установки. Запустите «Диспетчер серверов» (Server Manager) и откройте вкладку «Роли» (Roles) > «Веб-сервер IIS» (Web Server IIS) > «Диспетчер служб IIS» (Internet Information Services Manager).

Возможности, доступные вам в службе IIS, перечислены в диспетчере служб IIS. Отсюда управляйте возможностями IIS, настраивайте и перезапускайте.

Сразу после установки IIS по умолчанию создается пустой сайт Default Web Site .

Проверьте работу сайта по умолчанию, набрав в адресной строке браузера localhost .

Загрузится страница, созданная по умолчанию.

Добавьте сайты, которые будут обслуживаться этим веб-сервером.

В контекстном меню пункта «Сайты» (Sites) на вкладке «Подключения» (Connections) выберите «Добавить сайт» (Add Web Site) Заполните поля формы данными о сайте и нажмите ОК.

В списке сайтов IIS появится только что добавленный.

Установка IIS на Windows Server 2012 R2

Тоже самое можно сделать через панель «Локальный сервер» (Local Server) — «Управление» (Manage).

Запустится мастер установки IIS, ознакомьтесь с первой страницей и нажмите «Далее» (Next). Выберите тип установки «Установка ролей или компонентов» (Role-based or feature-based installation) и нажмите «Далее» (Next). Выберите сервер из пула серверов (Select a server from the server pool) и отметьте имя вашего сервера. Нажмите «Далее» (Next). На странице выбора ролей сервера отметьте «Веб-сервер IIS» (Web Server IIS). Оставьте все без изменений в появившемся окне и нажмите «Добавить компоненты» (Add Features). Если кроме IIS вы ничего не устанавливаете, то нажмите «Далее» (Next). Просмотрите список компонентов IIS, выберите нужные или оставьте по умолчанию, нажмите «Далее» (Next). Ознакомьтесь с информацией в следующем окне и нажмите «Далее» (Next). Просмотрите список ролей веб-сервера IIS, которые будут установлены. Отметьте необходимые или оставьте без изменения и нажмите «Далее» (Next).

Обратите внимание, что служба FTP по умолчанию не устанавливается. Если в дальнейшем вам понадобятся новые роли, то вы сможете их добавить без переустановки IIS.

Нажмите кнопку «Установить» (Install).

При необходимости отметьте «Автоматический перезапуск конечного сервера» (Restart the destination server automatically if required), если пункт не выбран, то перезагрузите сервер самостоятельно после окончания установки.

Запустите «Диспетчер серверов» (Server Manager) из меню «Пуск» (Start).

В списке содержимого появится установленная служба IIS .


В правом верхнем углу нажмите на пункт меню «Средства» (Tools) и запустите «Диспетчер служб IIS» (Internet Information Services Manager). В панели «Подключения» (Connections) кликните по имени сервера, в появившемся окне отметьте «Не показывать снова» (Do not show this message) и нажмите кнопку «Нет» (No). Панель «Просмотр возможностей» (Features View)

Возможности, доступные вам в службе IIS, перечислены на панели Просмотр возможностей (Features View). Отсюда управляйте возможностями IIS, настраивайте и перезапускайте. Например, настройте SSL-сертификаты.

Сразу после установки IIS по умолчанию создается пустой сайт Default Web Site . Проверьте его работу, набрав в адресной строке браузера localhost . Загрузится страница, созданная по умолчанию. Файлы этой страницы по умолчанию расположены на диске C:\inetpub\wwwroot Добавьте сайты, которые будут обслуживаться этим веб-сервером. Для этого в контекстном меню пункта «Сайты» (Sites) на вкладке «Подключения» (Connections) выберите «Добавить сайт» (Add Website). Заполните поля формы данными о сайте и нажмите ОК. В списке сайтов IIS появится только что добавленный.

SharePoint Server 2013 — Перезапуск пулов IIS и прогревочный скрипт

В разных источниках информации о веб-сервере IIS можно встретить рекомендации касающиеся выполнения периодических перезапусков пулов приложений — Application Pools Recycling. Очевидно, что это имеет непосредственное отношение и к пулам приложений IIS, используемых в SharePoint Server 2013. Как я понял, большинство пулов, связанных с SharePoint, уже настроены на автоматический перезапуск (в основном раз в сутки в ночное время).

Это можно увидеть, если открыть свойства Recycling любого из пулов

Например, пул приложений, отвечающий за сайт Центра администрирования SharePoint, у меня уже настроен на автоматический перезапуск ежедневно в 02:11, хотя специально такой настройки я не производил.

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

Чтобы решить эту проблему, можно создать так называемый “прогревочный” (warm-up) скрипт, который будет выполняться после перезапусков пулов IIS. Задача у такого скрипта одна – выполнить простейший запрос ко всем используемым веб-узлам SharePoint, заставив тем самым IIS выполнить запуск соответствующих экземпляров приложений с последующим рендерингом страниц возвращаемых по запросу. На глаза попались два варианта подобных скриптов:

Такой скрипт нужно выполнять после регламентных периодических перезапусков пулов и перед началом активности пользователей, чтобы свести к минимуму ситуации с долгим открытием страниц у первых пользователей. Для этого сохраним его на WFE-сервере, например с именем SP2013-Warm-Up.ps1 , и создадим в планировщике заданий Windows периодическое задание, которое будет выполняться например каждое утро в 06:30 от имени учётной записи фермы с командой запуска:

Какой из двух представленных вариантов warm-up скрипта наиболее праведный, мне судить сложно, но в силу своей простоты, второй мне кажется более интересным. К тому же, есть информация о том, что при использовании Get-SPSite желательно выполнять в конце Dispose() , чтобы не провоцировать утечку ресурсов сервера.

Если вы будете использовать второй вариант, и вам не нужен “прогрев” сайта администрирования SharePoint, то из второй команды достаточно убрать ключ -IncludeCentralAdministration .

PS: Нашёл тут ещё информацию о том, что начиная с IIS 8 есть некая встроенная фича Application Initialization, но, как я понял, её имеет смысл использовать для приложений, которые по определению работают с большим количеством перезапусков.

Продукты Vault

Знания

Изучите основы и оттачивайте навыки для повышения эффективности работы в Продукты Vault

Не удалось извлечь оглавление

Службы Microsoft Internet Information Services (IIS) и Vault

Подробные сведения о взаимодействии Vault и служб IIS.

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


Просмотр настроек сервера в диспетчере служб

  • На панели управления выберите Администрирование > Службы , а затем выберите в списке «IIS Admin».

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

Служба IIS может запускаться вручную, автоматически, а также может быть отключена. В большинстве случаев тип запуска должен иметь значение «Авто». Если тип запуска имеет значение «Вручную», то служба запустится после первого подключения клиента. Рекомендуется установить для типа запуска значение «Авто».

В этом параметре указывается тип учетной записи для сетевой идентификации. Рекомендуется по умолчанию использовать учетную запись локальной системы.

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

Более подробные сведения приведены в справочной документации по операционной системе.

Если подключение к серверу невозможно выполнить, то необходимо перезапустить службу или весь компьютер.

Остановка IIS

  1. В меню «Пуск» Windows выберите «Выполнить».
  2. В командной строке введите команду iisreset /stop

Повторный запуск IIS

  1. В меню «Пуск» Windows выберите «Выполнить».
  2. В командной строке введите команду iisreset /start

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


  1. В меню «Пуск» Windows выберите «Все программы» > «Администрирование» > «Службы».
  2. Перезапустите службу MSSQL$AUTODESKVAULT.

Внимание! Если база данных является сервером SQL Server, к которому имеют доступ пользователи, не работающие в Vault, SQL Server не рекомендуется перезапускать.

How to Restart IIS via Command Line

We have two options to Start, Stop to Restart IIS service on windows. You can do it directly from the Windows services center or you can do it directly via the command line.

To do this you must have Administrative access to your system. Open Windows command prompt “run as Administrator” and follow the below instructions.

If you are directly logged in with the Administrator account you can run the same commands through run Window in your Windows system.

1. Start IIS via Command Line:

Use following command to start IIS service on Windows operating systems. Either use Windows command prompt to run this command or execute it from run window.

2. Stop IIS via Command Line:

Use following command to stop IIS service on Windows operating systems. Either use Windows command prompt to run this command or execute it from run window.

3. ReStart IIS via Command Line:

Use the following command to restart IIS service on Windows operating systems. Either use the Windows command prompt to run this command or execute it from the run window.

Default iisreset command restarts the IIS service. So you don’t need to provide /restart parameter option to iisreset command to restart IIS service.

Iis перезапуск iis

Перезапуск службы «IIS Admin» запрашивает возможность перезапуска зависимых служб. Поэтому батник со следующим содержанием net stop «IIS Admin»
net start «IIS Admin»

автоматически не перезапускает службу «IIS Admin».

Не подскажете, можно ли как-то осуществить автоматический перезапуск службы «IIS Admin»?

Ответы

А если добавить в батник все зависимые службы? т.е. сначала остановить их, остановить iis, запустить iis, запустить службы.


  • Помечено в качестве ответа nnovets 1 апреля 2010 г. 11:43

Все ответы

А если добавить в батник все зависимые службы? т.е. сначала остановить их, остановить iis, запустить iis, запустить службы.

Рестарт IIS через PowerShell

Рестарт IIS + PowerShell + Task Scheduler. Связка весьма замечательная, особенно, когда в случае неудачного запуска высылается письмо на почту. В этой статье мы с вами научимся перезапускать Internet Information Service.

Рестарт IIS через PowerShell

Вопрос главный, но не единственный: зачем ребутать iis? А затем, что иногда в веб-приложениях появляются ошибки, которые правятся только ребутом IIS-a. Конечно, еще некоторые изменения веб-конфигов могут потребовать перезапуска. Но в моей практике возникали именно ошибки, которые решались путем перезапуска. Я решил пойти простым способом, воспользовавшись командой iisreset, но далее я подумал: “А что если iis не запустится? Как я об этом узнаю?” сразу же я пришел к тому, что необходимо делать проверку.

Так как PowerShell не возвращает результат выполнения скрипта, то есть неизвестно с ошибками он выполнился или без, нужен был какой-то критерий, по которому можно отслеживать успешный результат. В итоге я решил ссылаться на одну единственную фразу, которая имеете в ряде строк при успешном перезапуске IIS – Internet services successfully restarted. Соответственно, мне необходимо реализовать проверку и в случае отрицательного результата, я решил воспользоваться способом оповещения через письмо, который описал в этой статье. Плюс ко всему, если понадобится скалировать скрипт на несколько серверов, я бы хотел знать, на котором возникла проблема. Приступим к реализации:

Первым делом получим имя сервера:
$server = hostname

Далее вобьем в переменную команду перезапуска IIS:
$iisr = iisreset

После чего, добавим переменную, которая будет в себе содержать искомое значение:
$equals = “Internet services successfully restarted”

Отлично, теперь необходимо добавить проверку. Мы знаем, что в одной из четырех строк, которые выводятся как результат выполнения команды имеется и наша строка из переменной $equals. Соответственно мы будем проверять текст, следующим образом:

$Final = echo $iisr.Contains($equals)

Проверка реализована, едем дальше. Так как у нас есть условие для отправки письма, будет логично заранее подумать о том, что у нас появится if. Но предварительно нам необходимо задать настройки для адреса, на который отправлять письмо и адреса, с которого отправлять письмо:
$EmailFrom = “e@mail.ru”
$EmailTo =”target@mail.ru”

Пришло время добавить условия отправки письма:

if ($Final -ne “True”)

Соответственно в теле нужно выполнить отправку письма. В переменной $Final мы получим значение либо True, либо False, поэтому в условии мы указываем, что письмо необходимо отправлять в том случае, если в переменной Final значение равно False. ПыСы: условие еще можно написать так: if ($Final -eq “False”) – эквивалентно первому варианту.

Удаленное управление IIS в Windows Server 2020/2012 R2


Веб-сервер Internet Information Service в Windows 2020/ 2012 / R2, как и предыдущие версии IIS имеет возможность удаленного управления. Ведь управлять множеством IIS серверов из одной консоли довольно удобно, а для веб-серверов, работающих в режиме Core/Nano, это практически единственный удобный способ управления веб сервером. Однако по умолчанию функционал удаленного управления в IIS отключен и в том случае, если на другом сервере попытаться добавить удаленный сервер с запущенным IIS в консоль управления IIS (меню Connect to a Server), появится ошибка:

Установка службы управления IIS Management Service

Дело в том, что при стандартной установке IIS, служба IIS Management Service, отвечающая за его удаленное управление не устанавливается. Убедится, что данная служба отсутсвует в системе можно с помощью Powershell команды:

Как вы видите, служба Web-Mgmt-Service не установлена. Установите компонент Windows Server с помощью командлета Add-WindowsFeature , выполним с правами администратора следующую команду Powershell:

Также вы можете установить компонент Management Service из консоли Server Manager.

Затем перезапустите веб сервис IIS:
iisreset –noforce
Следующий шаг – нужно разрешить удаленные подключения в настройках веб сервера IIS. Для этого в диспетчере служб IIS в секции Management откройте появившийся пункт Management Service.

В разделе Management Service включите опцию «Enable remote connections».

Здесь же можно ограничить возможность подключения к консоли управлений веб сервера по IP адресу. Для этого запретите подключение с неизвестных клиентов (Access for unspecified clients:Deny) и укажите IP адрес / или IP подсети, с которых будет разрешено подключение. Служба удаленного подключения использует SSL сертификат, но вы можете использовать другой, если вы импортировали его в хранилище сертификатов (вы можете создать и использовать самоподписанный сертификат). Сохраните изменения.

Reg Add HKLM\Software\Microsoft\WebManagement\Server /V EnableRemoteManagement /T REG_DWORD /D 1

В этом случае придется создать правило для файервола вручную:

netsh advfirewall firewall add rule name=”Allow IIS Web Management” dir=in action=allow service=”WMSVC”

Осталось запустить службу Web Management Service:

net start wmsvc

set-service wmsvc -StartupType Automatic

sc config WMSVC start= auto

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

Предоставление прав пользователям на удаленное управление сайтом IIS

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

В панели Actions нажмите на Allow User. Выберите учетную запись, которой нужно предоставить доступ к IIS и нажмите Ок.

Права пользователям по управлению сайтами на IIS настраиваются в секции Feature Delegation на уровне всего сервера IIS.


Вы можете задать один из трех уровней доступа пользователям для каждого функционала управления сервером IIS: Read Only, Read/Write или Not Delegated.

Удаленное управление IIS из Windows 10

Если вам нужно удалено управлять серверов IIS с клиентской рабочей станции с Windows 10 (Windows 7 или 8.1), необходимо установить консоль управления IIS: Turn Windows features on or off -> Internet Information Services -> Web Management Tools -> IIS Management Console.

Вы можете установить компонент управления следующей командой PowerShell:

Enable-WindowsOptionalFeature -Online -FeatureName «IIS-ManagementService»

Однако при запуске консоли IIS Manager в Windows 10 оказывается, что пункт Подключение к серверу (Connect to a server) в меню отсутствует.

Для возможности удаленного подключения к IIS в Windows 10 нужно скачать и установить компонент IIS Manager for Remote Administration (https://www.microsoft.com/en-us/download/details.aspx? >

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

Теперь вы должны успешно подключиться к своему серверу IIS и удаленно управлять им со своего рабочего места.

Удаленное управление IIS и поддержка TLS 1.1/ TLS 1.2

Если на IIS вы отключили устаревших протоколов SSLv3 и TLS 1.0, оставив только TLS 1.1/ TLS 1.2 то при удаленном подключении к IIS появится ошибка:

Для исправления проблемы, необходимо на стороне клиента внести изменения в реестре, для обязательного использования протокола TLS1.2 при подключении. Настройки зависят от версии Windows.

Windows 10 и Windows Server 2020:

Windows 2012/ R2 и Windows 8/8.1:

Windows Server 2008 R2 / Windows 7:

Предварительно нужно установить обновление KB3154518 для поддержки TLS 1.2 в .NET Framework 3.5.1.

Настройка IIS

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

Кэширование вывода

Мы уже знаем, что ASP.NET поддерживает собственный механизм кеширования вывода, зачем же использовать еще один подобный механизм в IIS? Ответ на этот вопрос прост: помимо страниц ASP.NET существуют и другие виды содержимого, которое можно кешировать. Например, мы можем кешировать часто запрашиваемые статические файлы изображений или вывод собственных обработчиков HTTP-запросов. Для этой цели как раз и можно использовать механизм кеширования, поддерживаемый веб-сервером IIS.


В IIS имеется два механизма кеширования: кеш в пространстве пользователя и кеш в пространстве ядра.

Кеширование в пространстве пользователя

Так же как ASP.NET, веб-сервер IIS способен кешировать ответы в памяти, чтобы ответы на последующие запросы могли отправляться из кеша в памяти, без обращения к статическим файлам на диске и без вызова программного кода на стороне сервера.

Чтобы настроить кеширование, откройте приложение IIS Manager, выберите свое веб-приложение, откройте настройку Output Caching (Кеширование вывода), щелкните на ссылке Add (Добавить) в панели Actions (Действия), чтобы добавить новое правило кеширования, или выберите существующее правило для редактирования.

Чтобы создать новое правило кеширования в пространстве пользователя, добавьте новое правило, введите расширение имен файлов, которые требуется кешировать, и отметьте флажок User-mode caching (Кеширование в режиме пользователя) в диалоге Add Cache Rule (Добавить правило кеширования), как показано на рисунке ниже:

Отметив флажок, вы получите возможность выбирать, когда кешированный элемент будет удаляться из памяти, после обновления файла на диске или спустя некоторое время с момента кеширования. Для статических файлов больше подходит вариант удаления после обновления, тогда как определение интервала времени больше подходит для динамического содержимого. Щелкнув на кнопке Advanced (Дополнительно) можно получить доступ к настройкам, управляющим кешированием различных версий вывода (согласно параметрам в строке запроса или HTTP-заголовкам).

После добавления правила кеширования, настройки сохраняются в файле web.config приложения, в разделе system.webServer caching. Например, для правила кеширования страниц .aspx на срок до 30 минут, с учетом HTTP-заголовка Accept-Language, будет сгенерирован следующий код в конфигурационном файле:

Кеширование в пространстве ядра

В отличие от механизма кеширования в пространстве пользователя, сохраняющего информацию в памяти рабочего процесса IIS, механизм кеширования в пространстве ядра сохраняет информацию в памяти драйвера HTTP.sys. Кеширование в пространстве ядра обеспечивает более короткое время отклика, однако оно поддерживается не всегда. Например, кеширование в пространстве ядра нельзя использовать, когда запрос содержит строку с параметрами запроса или когда запрос не является анонимным запросом.

Настройка правил кеширования в пространстве ядра выполняется почти так же, как кеширование в пространстве пользователя. В диалоге настройки правила установите флажок Kernel-mode caching (Кеширование в режиме ядра) и выберите желаемый способ кеширования.

В одном правиле допускается использовать оба режима кеширования, в пространстве ядра и в пространстве пользователя. В этом случае IIS будет сначала пытаться применить кеширование в пространстве ядра. Если попытка не увенчается успехом, например, когда запрос содержит строку с параметрами, применяется кеширование в пространстве пользователя.

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

Настройка пула приложения

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

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

Перезапуск

Изменяя параметр настройки перезапуска можно управлять моментом, когда пул приложения будет перезапускать рабочий процесс. Например, можно организовать перезапуск рабочего процесса через каждые несколько часов или когда будет превышен некоторый предел занимаемой памяти. Если с течением времени веб-приложение начинает потреблять большие объемы памяти (например, для хранения объектов), увеличение количества перезапусков может помочь удерживать его производительность на высоком уровне. С другой стороны, если веб-приложение не проявляет никаких проблем в процессе работы, уменьшение количества перезапусков предотвратит потерю информации о состоянии.

Для проверки количества и частоты перезапусков пула приложения можно использовать счетчик производительности ASP.NET\Worker Process Restarts. Если вы увидите слишком большое количество перезапусков без явной на то причины, попробуйте сопоставить полученные значения с потреблением памяти приложением и нагрузкой на процессор, потому что перезапуски могут быть обусловлены превышением других пределов, определяемых настройками пула приложения.

Тайм-аут простоя

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

Привязка процессов к ядрам процессора

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

Веб-сад

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

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

Другим примером, когда может пригодиться наличие нескольких процессов, выполняющих одно и то же веб-приложение — использование 64-разрядного сервера IIS, выполняющего 32-разрядное веб-приложение. 64-разрядные серверы обычно имеют большой объем памяти, а 32-разрядное приложение может использовать не более 2 Гбайт, что часто приводит к увеличению частоты сборки мусора и, вероятно, к перезапускам пула приложения. Поддерживая два или три рабочих процесса для 32-разрядного веб-приложения, можно добиться более полного использования памяти сервера, уменьшить частоту сборки мусора и перезапусков пула приложения.

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

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

Илон Маск рекомендует:  Что такое код flock
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL
Примечание