Перейти к основному содержанию

Перезагружаем IIS при 500-й ошибке

IIS 10

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

Надоело мне перезагружать IIS вручную, погуглил и написал простенький PowerShell скрипт, который проверяет стaтус URL. Если 500-я ошибка - перезагружает IIS командой iisreset.

$SITEURL = 'https://internet-lab.ru'

function Get-UrlStatusCode([string] $Url) {
    try
    {
        (Invoke-WebRequest -Uri $Url -UseBasicParsing -DisableKeepAlive).StatusCode
    }
    catch [Net.WebException]
    {
        [int]$_.Exception.Response.StatusCode
    }
}

$HTTP_Status = Get-UrlStatusCode $SITEURL

If ($HTTP_Status -eq 500) {
    # reset iis
    iisreset.exe
}

iis

В Планировщике заданий создаю расписание, для запуска скрипта раз в 10 минут.

iis

Если теперь Drupal 8 снова начнёт чудить, то скрипт автоматически перезапустит веб-сервер.

 

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

Drupal — добавляем виджет комментариев "В контакте"

Раньше у меня на сайте стояла система комментариев Disqus. В какой-то момент времени она стала отображать назойливую рекламу. Было принято решение поставить на Drupal 8 виджет комментариев "В контакте".

Теги

Drupal 9 — установка на Nginx в Ubuntu 22

Сегодня мы с вами установим Drupal 9 на веб-сервер Nginx на сервере с операционной системой Ubuntu Server 22.04. Drupal 10 устанавливается аналогично, но сегодня мне нужна именно девятая версия. Погнали.

Теги