Файл журнала медленного запроса должен существовать и должен быть перезаписываем 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
Я бы пошел с вашим третьим подходом Сайт «Мы не в сети» в 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"}
Если вы не
Все наши сайты настроены в IIS с одним IP.
1) возьмите старый рабочий стол, запустите live linux distro, дайте ему тот же ip, что и IIS box, не не подключите его к сети
2) запустите nginx на live linux box, и сделайте страницу простоя, как вам нравится, протестируйте ее с помощью автономного коммутатора / концентратора, подключенного к вашему портативному компьютеру
3) отключите кабель Ethernet коробки IIS и подключите его к live linux box.
4) очистите адрес mac кеш на переключателе (или накатить мощность). ваш сайт, работающий в режиме простоя, теперь работает.
Установите 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. Вы можете найти список большинства из них на по этой ссылке
Я знаю, что это старое, но мне просто нужно было сделать это на старой коробке 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>