Службы iis: Настройка службы iiS World Wide Web Publishing Service — Internet Information Services

Настройка службы iiS World Wide Web Publishing Service — Internet Information Services


  • Статья

  • Чтение занимает 15 мин

В этой статье описывается, как настроить Microsoft IIS (IIS) World Wide Web Publishing Service (W3SVC) в отказоустойчивом кластере Windows Server (WSFC).

Исходная версия продукта: Windows Server 2008 и более поздних версий, Internet Information Services 8.0 и более поздних версий
Исходный номер базы знаний: 970759

Введение

Процедуры, описанные в этой статье, применяются только к службе веб-публикации. Инструкции по настройке службы публикации FTP в отказоустойчивом кластере см. в статье «Настройка FTP для IIS в отказоустойчивом кластере Windows Server».

В более ранних версиях служб Internet Information Services корпорация Майкрософт предоставила универсальные компоненты мониторинга ресурсов для поддержки экземпляров веб-сервера высокой доступности с помощью инфраструктуры кластеризации Майкрософт. Однако для полного реализации потенциал такого решения необходим пользовательский код. Кроме того, универсальные скрипты, предоставленные корпорацией Майкрософт, не соответствуют потребностям клиентов. Чтобы настроить IIS 7.0 или более позднюю версию в кластерной среде, использующей отказоустойчивую кластерию Windows Server, необходимо использовать пользовательский код (скрипты), чтобы обеспечить высокий уровень доступности. После этого пользователи могут настроить настройку в соответствии со своими требованиями. предоставляет им полный контроль над интеграцией веб-приложений с высоким уровнем доступности. Кроме того, интерфейсы сценариев для администрирования и мониторинга, появившиеся в IIS 7. 0, предоставляют более широкие возможности по сравнению со сценариями, которые были предоставлены ранее.

Примечание.

Файлы установки IIS 7.0 неправильно включают файлы скриптовClusweb.vbs иClusftp.vbs, которые используются в IIS 6.0 для задач администрирования кластера IIS. Не используйте эти скрипты в IIS 7.0 или более поздней версии.

Мы рекомендуем администраторам тщательно оценить использование балансировки сетевой нагрузки (NLB) в качестве основного и предпочтительного метода для повышения масштабируемости и доступности веб-приложений с несколькими серверами под управлением IIS 7.0 или более поздней версии, а не с использованием отказоустойчивой кластеризации. Одним из преимуществ NLB является то, что все серверы могут активно участвовать в одновременной обработке входящих http-запросов. Еще одно преимущество заключается в том, что в среде NLB IIS гораздо проще поддерживать последовательные обновления и откаты, обеспечивая при этом высокий уровень доступности веб-приложений. Дополнительные сведения об использовании IIS 7.0 или более поздней версии в среде балансировки сетевой нагрузки см. в следующих статьях:

  • Установка и настройка балансировки сетевой нагрузки
  • Балансировка сетевой нагрузки

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

Чтобы настроить высокий уровень доступности для веб-сервера IIS 7. 0 или более поздней версии с помощью отказоустойчивой кластеризации, выполните следующие действия. Шаги 3–7 более подробно описаны ниже. Пример скрипта далее в этой статье можно использовать в качестве примера для IIS 7.0 или более поздней версии.

  1. Установите роль веб-сервера на всех узлах кластера. Дополнительные сведения см. в руководстве по развертыванию IIS 7.
  2. Установите компонент отказоустойчивой кластеризации на всех узлах кластера и создайте кластер. Дополнительные сведения см. в руководстве по развертыванию отказоустойчивого кластера.
  3. Настройка общей папки, которая будет использоваться для общей конфигурации IIS.
  4. Настройте общую конфигурацию IIS на всех узлах кластера.
  5. Настройте автономные файлы IIS для общей конфигурации на всех узлах кластера.
  6. Настройте веб-сайт (включая связанный пул приложений) и укажите расположение его содержимого на одном узле кластера.
  7. Настройте высокий уровень доступности веб-сайта, создав универсальный скрипт в отказоустойчивой кластеризации.

Настройка общей папки, которая будет использоваться для общей конфигурации IIS

  1. Создайте пользователя, который будет получать доступ к общей папке, которая будет использоваться для общей конфигурации IIS.
  2. Создайте общую папку. Эта общая папка будет использоваться для хранения общей конфигурации IIS, которая будет совместно использоваться службами IIS на всех узлах кластера. Существует несколько вариантов:
    • На автономном сервере, который не является частью отказоустойчивого кластера, создайте общую папку.
    • В другом отказоустойчивом кластере Windows Server создайте общую папку с высоким уровнем доступности. Дополнительные сведения см. в пошаговом руководстве по настройке отказоустойчивого кластера Two-Node отказоустойчивого кластера файлового сервера.
    • В том же отказоустойчивом кластере, где будет размещен веб-сайт с высоким уровнем доступности, создайте общую папку с высоким уровнем доступности. Дополнительные сведения см. в пошаговом руководстве по отказоустойчивому кластеру. Настройка Two-Node отказоустойчивого кластера файлового сервера.
  3. Задайте разрешения для общей папки, созданной на шаге 2. Предоставьте пользователю, созданному на шаге 1, разрешения на полный доступ к общей папке и разрешения NTFS.
  4. Убедитесь, что все узлы кластера могут перейти к общей папке. Путь к общей папке:\\<fileserver>\<share>

Настройка общей конфигурации IIS на всех узлах кластера

Примечание.

Возникла проблема с общей конфигурацией IIS в Windows 2008 Server из-за отсутствия привилегий для Application Host Helper Service. Для работы общей конфигурации необходимо выполнить следующие действия при настройке общей конфигурации IIS в Windows 2008 Server.

  1. Откройте командную команду администратора.

  2. Выполните следующую команду:

    net stop apphostsvc
    
  3. Выполните следующую команду:

    sc privs apphostsvc SeChangeNotifyPrivilege/SeTcbPrivilege/SeImpersonatePrivilege
    
  4. Выполните следующую команду:

    net start apphostsvc
    

После выполнения этих действий на каждом сервере Windows 2008 в кластере продолжайте настройку общей конфигурации IIS, как описано в этом разделе.

На одном из узлов кластера экспортируйте общую конфигурацию в общую папку:

  1. Перейдите к разделу «Администрирование» и выберите диспетчер служб IIS.
  2. В левой области выберите узел имени сервера.
  3. Дважды щелкните значок общей конфигурации .
  4. На странице «Общая конфигурация» выберите «Экспорт конфигурации» в области действий (справа), чтобы экспортировать файлы конфигурации с локального компьютера в другое расположение.
  5. В диалоговом окне «Конфигурация экспорта» введите путь к общей папке (\\<fileserver>\<share>) в поле «Физический путь «.
  6. Выберите «Подключить как«, а затем введите имя пользователя и пароль для учетной записи пользователя, которая имеет доступ к общей папке, в которой хранится общая конфигурация, а затем нажмите кнопку «ОК». Эта учетная запись будет использоваться для доступа к общей папке. Следует использовать ограниченную учетную запись Active Directory, которая не является администратором домена.
  7. В диалоговом окне «Экспорт конфигурации» введите пароль, который будет использоваться для защиты ключей шифрования, а затем нажмите кнопку «ОК».
  8. На странице «Общая конфигурация » установите флажок «Включить общую конфигурацию».
  9. Введите физический путь, учетную запись пользователя и пароль, введенные ранее, а затем выберите «Применить » в области действий.
  10. В диалоговом окне «Пароль ключей шифрования» введите пароль ключа шифрования, который вы настроили ранее, а затем нажмите кнопку «ОК «.
  11. В диалоговом окне «Общая конфигурация» нажмите кнопку «ОК».
  12. Нажмите кнопку ОК.

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

  1. Перейдите к разделу «Администрирование» и выберите диспетчер служб IIS.
  2. Выберите узел имени сервера.
  3. Дважды щелкните значок общей конфигурации .
  4. На странице «Общая конфигурация » установите флажок «Включить общую конфигурацию».
  5. Введите физический путь к общей папке (\\<fileserver>\<share>), учетную запись пользователя и пароль, введенные ранее, а затем выберите «Применить» в области действий.
  6. В диалоговом окне «Пароль ключей шифрования» введите пароль ключа шифрования, который вы настроили ранее, а затем нажмите кнопку «ОК «.
  7. В диалоговом окне «Общая конфигурация» нажмите кнопку «ОК».
  8. Нажмите кнопку ОК.

Примечание.

Дополнительные сведения о настройке общих конфигураций в IIS см. в разделе «Общая конфигурация».

Настройка автономных файлов IIS для общей конфигурации на всех узлах кластера

На каждом узле кластера включите автономные файлы:

  1. Установка интерфейса рабочего стола

    1. Перейдите к разделу «Администрирование» и выберите диспетчер сервера.
    2. В левой области выберите » Компоненты».
    3. Выберите «Добавить компоненты » в правой области.
    4. Выполните одно из следующих действий в соответствии с вашей версией Windows:
      • Дополнительные Windows Server 2016 на странице «Установка сервера с рабочим столом».
      • Для Windows Server 2102 и 2012 R2 выберите «Возможности рабочего стола» в разделе «Пользовательские интерфейсы и инфраструктуры» в списке функций.
      • Для Windows Server 2008 и 2008 R2 выберите «Возможности рабочего стола».
    5. Выберите «Установить» , чтобы установить возможности рабочего стола.
    6. Перезагрузите компьютер.
  2. Выполните одно из следующих действий.

    • Для Windows Server 2012 2012 R2 и 2016 выберите центр синхронизации в панель управления, а затем выберите «Управление автономными файлами».
    • Для Windows Server 2008 и 2008 R2 выберите автономные файлы в панель управления.
  3. Выберите «Включить автономные файлы». В настоящее время не перезагрузите компьютер.

  4. Убедитесь, что кэш имеет доступ только для чтения. Для этого выполните следующую команду в командной строке с повышенными привилегиями:

    REG ADD "HKLM\System\CurrentControlSet\Services\CSC\Parameters" /v ReadOnlyCache /t REG_DWORD /d 1 /f
    
  5. Перезагрузите компьютер.

  6. Перейдите на файловые серверы с компьютера. Щелкните правой кнопкой мыши общую папку, содержащую общую конфигурацию IIS, а затем выберите «Всегда доступно в автономном режиме».

    Примечание.

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

  7. В панель управления откройте автономные файлы. Выберите «Открыть центр синхронизации«, а затем выберите » Расписание».

  8. Запланируйте автономную синхронизацию файлов на каждый день или в соответствии с вашими требованиями. Вы также можете настроить автономную синхронизацию для выполнения каждые несколько минут. Даже если планировщик не настроен, при изменении чего-либо в файлеApplicationhost.config изменения отражаются на веб-сервере.

Примечание.

Дополнительные сведения о настройке автономных файлов для общей конфигурации в IIS см. в разделе «Автономные файлы для общей конфигурации».

Настройте веб-сайт и укажите расположение его содержимого на одном узле кластера.

Найдите узел кластера, которому принадлежит ресурс диска кластера, в котором будут находиться файлы содержимого веб-сайта:

  1. Перейдите к разделу «Администрирование» и выберите диспетчер отказоустойчивости кластеров.
  2. Подключитесь к кластеру. Если вы используете один из узлов кластера, кластер автоматически появится в списке.
  3. В разделе «Хранилище» найдите ресурс диска, на котором будет находиться содержимое веб-страницы. Для этого разверните дерево хранилища для ресурса диска. Убедитесь, что хранилище не используется другим приложением высокой доступности в кластере. Хранилище находится в разделе » Доступное хранилище».
  4. Узел кластера, на котором находится этот ресурс в сети. Вы настроите службы IIS на этом узле кластера.
  5. Имя ресурса диска кластера.

Он будет использоваться для файлов содержимого. На узле кластера, на котором находится ресурс в сети, настройте веб-сервер для использования общего диска для содержимого веб-сайта:

  1. Перейдите к разделу «Администрирование» и выберите диспетчер служб IIS.
  2. В левой области разверните узел имени сервера.
  3. Разверните «Сайты», а затем в разделе «Сайты» выберите сайт, который вы настраиваете.
  4. В области справа выберите » Дополнительные параметры» в разделе «Управление веб-сайтом».
  5. Найдите свойство «Физический путь» в разделе «Общие параметры», а затем введите расположение, в котором находятся файлы содержимого веб-сайта. Это расположение ресурса диска кластера, которое вы записали на шаге 5 предыдущей процедуры.
  6. Нажмите кнопку ОК.

Настройка высокой доступности веб-сайта путем создания универсального скрипта в диспетчере отказоустойчивости кластеров

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

  1. На каждом узле кластера скопируйте скрипт, предоставленный в конце этой статьи, в Windows\System32\inetsrv\Clusweb7.vbs.

  2. По умолчанию скрипт отслеживает веб-сайт с именем « Веб-сайт по умолчанию» и пул приложений с именем DefaultAppPool. Если это не правильный веб-сайт и пул приложений, измените SITE_NAME and APP_POOL_NAME переменные. Убедитесь, что один и тот же веб-сайт и пул приложений в скрипте существуют на всех узлах кластера.

    Примечание.

    В именах учитывается регистр.

  3. Перейдите к разделу «Администрирование» и выберите диспетчер отказоустойчивости кластеров.

  4. Подключитесь к кластеру. Если вы используете один из узлов кластера, кластер автоматически появится в списке.

  5. Выполните одно из следующих действий.

    • Для Windows Server 2012 2012 R2 и 2016 щелкните правой кнопкой мыши «Роли», а затем выберите «Настроить роль», чтобы создать ее.
    • Для Windows Server 2008 и 2008 R2 щелкните кластер правой кнопкой мыши и выберите «Настроить службу или приложение». Мастер создает рабочую нагрузку с высоким уровнем доступности.
  6. Выберите универсальный скрипт.

  7. Выберите файл скрипта из %systemroot%\System32\Inetsrv\clusweb7.vbs.

  8. Задайте для имени точки доступа клиента (CAP) имя веб-сайта, которое клиенты будут использовать для подключения к веб-сайту с высоким уровнем доступности. Укажите статические IP-адреса, которые будут использовать для cap веб-сайта. Если вы используете протокол DHCP, этот параметр не будет отображаться.

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

    Примечание.

    Если общая папка, используемая для общей конфигурации IIS, размещена в том же кластере, здесь следует использовать другой ресурс диска.

  10. После подтверждения параметров мастер создаст группу кластера, ресурсы кластера и зависимости между ресурсами, а затем подключит ресурсы к сети.

    Примечание.

    Чтобы разместить несколько веб-сайтов с высоким уровнем доступности в одном отказоустойчивом кластере, выполните те же действия, что и выше. Однако используйте разные файлы скриптов для каждого веб-сайта и разных кластеризованных общих хранилищ. Например, используйтеclusweb7.vbs%systemroot%\System32\Inetsrvдля первого веб-сайта ,clweb7-2.vbsдля второго,clweb7-3.vbs для третьего и т. д. Каждый файл скрипта отслеживает разные веб-сайт и пул приложений.

Следующий сценарий предназначен только для примера и не поддерживается корпорацией Майкрософт явным образом. Использование этого скрипта в кластеризованной среде IIS 7.0 или более поздней версии находится под вашим риском.

'<begin script sample>
'This script provides high availability for IIS websites
'By default, it monitors the "Default Web Site" and "DefaultAppPool"
'To monitor another website, change the SITE_NAME below
'To monitor another application pool, change the APP_POOL_NAME below
'More thorough and application-specific health monitoring logic can be added to the script if needed
Option Explicit
DIM SITE_NAME
DIM APP_POOL_NAME
Dim START_WEB_SITE
Dim START_APP_POOL
Dim SITES_SECTION_NAME
Dim APPLICATION_POOLS_SECTION_NAME
Dim CONFIG_APPHOST_ROOT
Dim STOP_WEB_SITE
'Note:
'Replace this with the site and application pool you want to configure high availability for
'Make sure that the same website and application pool in the script exist on all cluster nodes.  Note that the names are case-sensitive.
SITE_NAME = "Default Web Site"
APP_POOL_NAME = "DefaultAppPool"
START_WEB_SITE = 0
START_APP_POOL = 0
STOP_WEB_SITE  = 1
SITES_SECTION_NAME = "system.applicationHost/sites"
APPLICATION_POOLS_SECTION_NAME = "system.applicationHost/applicationPools"
CONFIG_APPHOST_ROOT = "MACHINE/WEBROOT/APPHOST"
'Helper script functions
'Find the index of the website on this node
Function FindSiteIndex(collection, siteName)
    Dim i
    FindSiteIndex = -1
    For i = 0 To (CInt(collection.Count) - 1)
        If collection.Item(i).GetPropertyByName("name").Value = siteName Then
            FindSiteIndex = i
            Exit For
        End If
    Next
End Function
'Find the index of the application pool on this node
Function FindAppPoolIndex(collection, appPoolName)
    Dim i
    FindAppPoolIndex = -1
    For i = 0 To (CInt(collection.Count) - 1)
        If collection.Item(i).GetPropertyByName("name").Value = appPoolName Then
            FindAppPoolIndex = i
            Exit For
        End If
    Next
End Function
'Get the state of the website
Function GetWebSiteState(adminManager, siteName)
    Dim sitesSection, sitesSectionCollection, siteSection, index, siteMethods, startMethod, executeMethod
    Set sitesSection = adminManager. GetAdminSection(SITES_SECTION_NAME, CONFIG_APPHOST_ROOT)
    Set sitesSectionCollection = sitesSection.Collection
    index = FindSiteIndex(sitesSectionCollection, siteName)
    If index = -1 Then
        GetWebSiteState = -1
    End If
    Set siteSection = sitesSectionCollection(index)
    GetWebSiteState = siteSection.GetPropertyByName("state").Value
End Function
'Get the state of the ApplicationPool
Function GetAppPoolState(adminManager, appPool)
    Dim configSection, index, appPoolState
    set configSection = adminManager.GetAdminSection(APPLICATION_POOLS_SECTION_NAME, CONFIG_APPHOST_ROOT)
    index = FindAppPoolIndex(configSection.Collection, appPool)
    If index = -1 Then
        GetAppPoolState = -1
    End If
    GetAppPoolState = configSection.Collection.Item(index).GetPropertyByName("state").Value
End Function
'Start the w3svc service on this node
Function StartW3SVC()
    Dim objWmiProvider
    Dim objService
    Dim strServiceState
    Dim response
    'Check to see if the service is running
    set objWmiProvider = GetObject("winmgmts:/root/cimv2")
    set objService = objWmiProvider. get("win32_service='w3svc'")
    strServiceState = objService.state
    If ucase(strServiceState) = "RUNNING" Then
        StartW3SVC = True
    Else
        'If the service is not running, try to start it
        response = objService.StartService()
        'response = 0  or 10 indicates that the request to start was accepted
        If ( response <> 0 ) and ( response <> 10 ) Then
            StartW3SVC = False
        Else
            StartW3SVC = True
        End If
    End If
End Function
'Start the application pool for the website
Function StartAppPool()
    Dim ahwriter, appPoolsSection, appPoolsCollection, index, appPool, appPoolMethods, startMethod, callStartMethod
    Set ahwriter = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
    Set appPoolsSection = ahwriter.GetAdminSection(APPLICATION_POOLS_SECTION_NAME, CONFIG_APPHOST_ROOT)
    Set appPoolsCollection = appPoolsSection.Collection
    index = FindAppPoolIndex(appPoolsCollection, APP_POOL_NAME)
    Set appPool = appPoolsCollection. Item(index)
    'See if it is already started
    If appPool.GetPropertyByName("state").Value = 1 Then
        StartAppPool = True
        Exit Function
    End If
    'Try To start the application pool
    Set appPoolMethods = appPool.Methods
    Set startMethod = appPoolMethods.Item(START_APP_POOL)
    Set callStartMethod = startMethod.CreateInstance()
    callStartMethod.Execute()
    'If started return true, otherwise return false
    If appPool.GetPropertyByName("state").Value = 1 Then
        StartAppPool = True
    Else
        StartAppPool = False
    End If
End Function
'Start the website
Function StartWebSite()
    Dim ahwriter, sitesSection, sitesSectionCollection, siteSection, index, siteMethods, startMethod, executeMethod
    Set ahwriter = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
    Set sitesSection = ahwriter.GetAdminSection(SITES_SECTION_NAME, CONFIG_APPHOST_ROOT)
    Set sitesSectionCollection = sitesSection.Collection
    index = FindSiteIndex(sitesSectionCollection, SITE_NAME)
    Set siteSection = sitesSectionCollection(index)
    if siteSection. GetPropertyByName("state").Value = 1 Then
        'Site is already started
        StartWebSite = True
        Exit Function
    End If
    'Try to start site
    Set siteMethods = siteSection.Methods
    Set startMethod = siteMethods.Item(START_WEB_SITE)
    Set executeMethod = startMethod.CreateInstance()
    executeMethod.Execute()
    'Check to see if the site started, if not return false
    If siteSection.GetPropertyByName("state").Value = 1 Then
        StartWebSite = True
    Else
        StartWebSite = False
    End If
End Function
'Stop the website
Function StopWebSite()
    Dim ahwriter, sitesSection, sitesSectionCollection, siteSection, index, siteMethods, startMethod, executeMethod, autoStartProperty
    Set ahwriter = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
    Set sitesSection = ahwriter.GetAdminSection(SITES_SECTION_NAME, CONFIG_APPHOST_ROOT)
    Set sitesSectionCollection = sitesSection.Collection
    index = FindSiteIndex(sitesSectionCollection, SITE_NAME)
    Set siteSection = sitesSectionCollection(index)
    'Stop the site
    Set siteMethods = siteSection. Methods
    Set startMethod = siteMethods.Item(STOP_WEB_SITE)
    Set executeMethod = startMethod.CreateInstance()
    executeMethod.Execute()
End Function
'Cluster resource entry points. More details here:
'http://msdn.microsoft.com/en-us/library/aa372846(VS.85).aspx
'Cluster resource Online entry point
'Make sure the website and the application pool are started
Function Online( )
    Dim bOnline
    'Make sure w3svc is started
    bOnline = StartW3SVC()
    If bOnline <> True Then
        Resource.LogInformation "The resource failed to come online because w3svc could not be started."
        Online = False
        Exit Function
    End If
    'Make sure the application pool is started
    bOnline = StartAppPool()
    If bOnline <> True Then
        Resource.LogInformation "The resource failed to come online because the application pool could not be started."
        Online = False
        Exit Function
    End If
    'Make sure the website is started
    bOnline = StartWebSite()
    If bOnline <> True Then
        Resource. LogInformation "The resource failed to come online because the web site could not be started."
        Online = False
        Exit Function
    End If
    Online = true
End Function
'Cluster resource offline entry point
'Stop the website
Function Offline( )
    StopWebSite()
    Offline = true
End Function
'Cluster resource LooksAlive entry point
'Check for the health of the website and the application pool
Function LooksAlive( )
    Dim adminManager, appPoolState, configSection, i, appPoolName, appPool, index
    i = 0
    Set adminManager  = CreateObject("Microsoft.ApplicationHost.AdminManager")
    appPoolState = -1
    'Get the state of the website
    if GetWebSiteState(adminManager, SITE_NAME) <> 1 Then
        Resource.LogInformation "The resource failed because the " & SITE_NAME & " web site is not started."
        LooksAlive = false
        Exit Function
    End If
    'Get the state of the Application Pool
    if GetAppPoolState(adminManager, APP_POOL_NAME) <> 1 Then
         Resource. LogInformation "The resource failed because Application Pool " & APP_POOL_NAME & " is not started."
         LooksAlive = false  
         Exit Function
    End if
    'Web site and Application Pool state are valid return true
    LooksAlive = true
End Function
'Cluster resource IsAlive entry point
'Do the same health checks as LooksAlive
'If a more thorough than what we do in LooksAlive is required, this should be performed here
Function IsAlive()
    IsAlive = LooksAlive
End Function
'Cluster resource Open entry point
Function Open()
    Open = true
End Function
'Cluster resource Close entry point
Function Close()
    Close = true
End Function
'Cluster resource Terminate entry point
Function Terminate()
    Terminate = true
End Function
'<end script sample>

Управляем IIS из командной строки

  • 27 ноября 2020

Для управления web сервером IIS существует специальная утилита iisreset. exe.

Если имя компьютера не указано, то команда выполняется для текущего web-сервера. Если у вас несколько серверов, то удобно управлять ими с одной машины. Дальше будут примеры для управления IIS на текущем web сервере без указания его имени.

iisreset
iisreset /restart

Остановка всех служб IIS, затем запуск всех служб IIS.

iisreset /status

Отображает состояние служб IIS:

  • IIS Admin Service (IISADMIN)
  • Windows Process Activation Services (WAS)
  • World Wide Web Publishing Service (W3SVC)
iisreset /stop

Остановка всех служб IIS.

iisreset /start

 Запуск всех служб IIS.

iisreset /reboot

Перезагрузить компьютер.

iisreset /restart /rebootonerror
iisreset /stop /rebootonerror
iisreset /start /rebootonerror

Параметр rebootonerror применяется при остановке, запуске или перезапуске служб IIS. В случае ошибки перезагружает компьютер. В случае таймаута тоже перезагружает компьютер. Таймаут по умолчанию на остановку служб IIS — 60 с. Таймаут по умолчанию на запуск служб IIS — 20 с.

iisreset /restart /rebootonerror /timeout:30
iisreset /stop /rebootonerror /timeout:30

Параметр timeout применяется при остановке или перезапуске служб IIS, имеет смысл только совместно с использованием rebootonerror. Задаёт произвольный timeout в секундах для остановки служб IIS.

iisreset /restart /noforce
iisreset /stop /noforce

 Параметр noforce применяется при остановке или перезапуске служб IIS. Не завершает службы IIS принудительно. При этом в случае проблем могут возникать ошибки вида:

There was an error while performing this operation.
The service cannot accept control messages at this time. (2147943461, 80070425) 

Restart attempt failed.
The service cannot accept control messages at this time. (2147943461, 80070425)

Microsoft при этом почему-то даёт странную рекомендацию, вместо того, чтобы не использовать noforce, они рекомендуют останавливать службы через net stop/start:

net stop w3svc
net start w3svc
net stop iisadmin /y
net start w3svc

https://support. microsoft.com/ru-ru/help/969864/using-iisreset-exe-to-restart-internet-information-services-iis-result

iisreset /disable

Отключает возможность перезапуска служб IIS.

iisreset /enable

Включает возможность перезапуска служб IIS.

Теги

  • web
  • Windows
  • cmd

💰 Поддержать проект

Похожие материалы

Олег
  • 19 июня 2022
  • Подробнее о BAT скрипт для резервного копирования папки в Облако Mail.Ru

Я решил немного усилить безопасность и добавить автоматическое еженедельное резервное копирование папки в Облако Mail.Ru.

Теги

  • Windows
  • cmd
  • special
  • web
Олег
  • 19 июня 2022
  • Подробнее о BAT скрипт для резервного копирования MySQL в Облако Mail. Ru

Накидал маленький BAT скрипт для резервного копирование MySQL баз в Облако Mail.Ru по протоколу WebDAV. Внесите свои данные и через scheduler настройте расписание резервного копирования.

Теги

  • sql
  • Windows
  • cmd
  • special
  • web
Олег
  • 3 апреля 2018
  • Подробнее о CHKDSK из командной строки

Запускаем проверку диска из командной строки.

Теги

  • Windows
  • cmd

Чтиво на ночь

404: Страница не найдена

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

Что я могу сделать сейчас?

Если вы впервые посещаете TechTarget, добро пожаловать! Извините за обстоятельства, при которых мы встречаемся. Вот куда вы можете пойти отсюда:

Поиск

  • Узнайте последние новости.
  • Наша домашняя страница содержит самую свежую информацию о Windows Server.
  • Наша страница «О нас» содержит дополнительную информацию о сайте, на котором вы находитесь, SearchWindowsServer.
  • Если вам нужно, свяжитесь с нами, мы будем рады услышать от вас.

Просмотр по категории

SearchCloudComputing


  • Сравните AWS Global Accelerator и Amazon CloudFront

    AWS Global Accelerator и Amazon CloudFront решают схожие проблемы. Но пользователи должны знать, когда использовать одно вместо другого. Откройте для себя…


  • Лучшие практики для многооблачной стратегии Kubernetes

    Мультиоблачная среда имеет свои преимущества, но также создает сложности. Ознакомьтесь с передовыми практиками и конфигурациями для мультиоблачной …


  • Руководство для конференции по AWS re:Invent 2022

    Ознакомьтесь с последними новостями, выпусками продуктов и обновлениями технологий, а также анализом и рекомендациями экспертов от AWS re:Invent 2022 …

SearchEnterpriseDesktop


  • Как контролировать файлы Windows и какие инструменты использовать

    Мониторинг файлов в системах Windows имеет решающее значение для обнаружения подозрительных действий, но существует так много файлов и папок, которые необходимо хранить…


  • Как Microsoft Loop повлияет на службу Microsoft 365

    Хотя Microsoft Loop еще не общедоступен, Microsoft опубликовала подробную информацию о том, как Loop может соединять пользователей и проекты…


  • В последнем обновлении Windows 11 добавлен проводник с вкладками

    Последнее обновление Windows 11 предлагает проводник с вкладками для изменения порядка файлов и переключения между папками. ОС тоже…

SearchVirtualDesktop


  • Сравнение функций программного обеспечения Citrix и VMware VDI

    Citrix и VMware предлагают инструменты, упрощающие развертывание и управление VDI для ИТ. Разобраться в ключевых отличиях Citrix…


  • После слияния Citrix и TIBCO остаются вопросы

    Инвестиционные компании Vista Equity Partners и Evergreen Coast Capital завершили сделку по приобретению Citrix, но вопросы по…


  • VMware обновляет Horizon Cloud, чтобы сократить потребности в инфраструктуре

    Компания VMware улучшила Horizon Cloud и добавила функции в Workspace One UEM. Также планируется запустить управляемый виртуальный рабочий стол…

404: Страница не найдена

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

Что я могу сделать сейчас?

Если вы впервые посещаете TechTarget, добро пожаловать! Извините за обстоятельства, при которых мы встречаемся. Вот куда вы можете пойти отсюда:

Поиск

  • Пожалуйста, свяжитесь с нами, чтобы сообщить, что эта страница отсутствует, или используйте поле выше, чтобы продолжить поиск
  • Наша страница «О нас» содержит дополнительную информацию о сайте, на котором вы находитесь, WhatIs.com.
  • Посетите нашу домашнюю страницу и просмотрите наши технические темы

Просмотр по категории

ПоискСеть


  • беспроводная ячеистая сеть (WMN)

    Беспроводная ячеистая сеть (WMN) — это ячеистая сеть, созданная путем соединения узлов точек беспроводного доступа (WAP), установленных в …


  • Wi-Fi 7

    Wi-Fi 7 — это ожидаемый стандарт 802.11be, разрабатываемый IEEE.


  • сетевая безопасность

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

ПоискБезопасность


  • Что такое модель безопасности с нулевым доверием?

    Модель безопасности с нулевым доверием — это подход к кибербезопасности, который по умолчанию запрещает доступ к цифровым ресурсам предприятия и …


  • RAT (троянец удаленного доступа)

    RAT (троян удаленного доступа) — это вредоносное ПО, которое злоумышленник использует для получения полных административных привилегий и удаленного управления целью …


  • атака на цепочку поставок

    Атака на цепочку поставок — это тип кибератаки, нацеленной на организации путем сосредоточения внимания на более слабых звеньях в организации …

ПоискCIO


  • пространственные вычисления

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


  • Пользовательский опыт

    Дизайн взаимодействия с пользователем (UX) — это процесс и практика, используемые для разработки и внедрения продукта, который обеспечит позитивное и …


  • соблюдение конфиденциальности

    Соблюдение конфиденциальности — это соблюдение компанией установленных правил защиты личной информации, спецификаций или …

SearchHRSoftware


  • Поиск талантов

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


  • удержание сотрудников

    Удержание сотрудников — организационная цель сохранения продуктивных и талантливых работников и снижения текучести кадров за счет стимулирования …


  • гибридная рабочая модель

    Гибридная модель работы — это структура рабочей силы, включающая сотрудников, работающих удаленно, и тех, кто работает на месте, в офисе компании.