Временно перенаправьте *все* HTTP/запросы HTTPS в IIS к странице “обслуживания сервера”

Файл журнала медленного запроса должен существовать и должен быть перезаписываем mysql пользователем. По стандарту mysql установка я сделал бы:

touch /var/log/mysql-slow-queries.log
chown mysql.mysql /var/log/mysql-slow-queries.log

И затем перезапуск mysql.

При установке медленного файла журнала в конкретном каталоге (т.е. /var/log/mysql/slow.log) с достаточным количеством полномочий MySQL создаст файл журнала отдельно:

mkdir /var/log/mysql
chown mysql.mysql /var/log/mysql
10
задан 16 November 2013 в 00:48
4 ответа

Я бы пошел с вашим третьим подходом Сайт «Мы не в сети» в IIS , скажем, вы назвали его Offline , если у него нет хоста заданный заголовок, он будет обслуживать все запросы, не принятые ни одним из других сайтов, у которых есть соответствующий заголовок хоста. Чтобы предотвратить это, просто остановите все остальные сайты.

Предполагая, что у вас установлен сценарий IIS, откройте PowerShell с повышенными привилегиями:

import-module webadministration

теперь вы можете остановить все сайты, кроме автономного:

Get-ChildItem IIS:\Sites | Where {$_.Name -ne "Offline"} | Stop-WebSite

при резервном копировании SQL-сервера , запустите их снова:

Get-ChildItem IIS:\Sites | Where {$_.Name -ne "Offline"} | Start-WebSite

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

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

Where {$_.Name -ne "Offline" -and $_.Name -ne "foobar.com"}

Если вы не

6
ответ дан 2 December 2019 в 22:12

Все наши сайты настроены в IIS с одним IP.

1) возьмите старый рабочий стол, запустите live linux distro, дайте ему тот же ip, что и IIS box, не не подключите его к сети

2) запустите nginx на live linux box, и сделайте страницу простоя, как вам нравится, протестируйте ее с помощью автономного коммутатора / концентратора, подключенного к вашему портативному компьютеру

3) отключите кабель Ethernet коробки IIS и подключите его к live linux box.

4) очистите адрес mac кеш на переключателе (или накатить мощность). ваш сайт, работающий в режиме простоя, теперь работает.

2
ответ дан 2 December 2019 в 22:12

Установите Apache и создайте виртуальный хост, как показано ниже в path \ to \ apache \ conf \ extra \ httpd-vhosts.conf :

<VirtualHost *:80>
    DocumentRoot C:/Apache/htdocs
    ServerName anyname.net

    # Other directives here
</VirtualHost>

Затем в корне документа указанном в настройке выше, создайте файл index.html с автономным сообщением.

Следующий шаг очень важен, вы должны остановить все службы, которые могут использовать порт 80, перед запуском Apache. Вы можете найти список большинства из них на по этой ссылке

0
ответ дан 2 December 2019 в 22:12

Я знаю, что это старое, но мне просто нужно было сделать это на старой коробке Windows 2008 r2. Это скорее ответ на заголовок вопроса; что касается подробностей вопроса, то это просто один из подходов к настройке "We're Offline site in IIS".

Это не полагается ни на что большее, чем IIS и статический HTML. Функция "HTTP Redirect" в IIS не обрабатывает то, что вы хотите, но есть и другой способ симулировать это. Просто измените все "Страницы ошибок" для сайта, чтобы указать на страницу обслуживания. Да, это работает только в том случае, если вы можете использовать весь "сайт" в IIS.

В моем случае у сайта есть один файл "default.htm" в корневой папке (например, c:\InetPub\wwwroot). Поэтому все из "Страниц ошибок" настроены на "Выполнение URL-адреса на этом сайте" и используют путь "/default.htm". Так как я использую абсолютные URL (т.е. начинающиеся с "/") в файле, его содержимое корректно выполняется в браузере, независимо от того, какой публичный URL выглядит.

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

Также, имейте в виду, что IIS повлияет на это изменение, сгенерировав файл web.config в корневой папке. Вот что он для меня создал:

 <?xml version="1.0" encoding="UTF-8"?>
 <configuration>
     <system.webServer>
         <httpErrors>
             <remove statusCode="502" subStatusCode="-1" />
             <remove statusCode="501" subStatusCode="-1" />
             <remove statusCode="500" subStatusCode="-1" />
             <remove statusCode="412" subStatusCode="-1" />
             <remove statusCode="406" subStatusCode="-1" />
             <remove statusCode="405" subStatusCode="-1" />
             <remove statusCode="404" subStatusCode="-1" />
             <remove statusCode="403" subStatusCode="-1" />
             <remove statusCode="401" subStatusCode="-1" />
             <error statusCode="401" prefixLanguageFilePath="" path="/default.htm" responseMode="ExecuteURL" />
             <error statusCode="403" prefixLanguageFilePath="" path="/default.htm" responseMode="ExecuteURL" />
             <error statusCode="404" prefixLanguageFilePath="" path="/default.htm" responseMode="ExecuteURL" />
             <error statusCode="405" prefixLanguageFilePath="" path="/default.htm" responseMode="ExecuteURL" />
             <error statusCode="406" prefixLanguageFilePath="" path="/default.htm" responseMode="ExecuteURL" />
             <error statusCode="412" prefixLanguageFilePath="" path="/default.htm" responseMode="ExecuteURL" />
             <error statusCode="500" prefixLanguageFilePath="" path="/default.htm" responseMode="ExecuteURL" />
             <error statusCode="501" prefixLanguageFilePath="" path="/default.htm" responseMode="ExecuteURL" />
             <error statusCode="502" prefixLanguageFilePath="" path="/default.htm" responseMode="ExecuteURL" />
         </httpErrors>
     </system.webServer>
 </configuration>
0
ответ дан 2 December 2019 в 22:12

Теги

Похожие вопросы