Ограничение процессорной нагрузки (более жесткое)
Материал из 1GbWiki.
Версия 05:44, 26 сентября 2011 (править) Rekby (Обсуждение | вклад) ← К предыдущему изменению |
Текущая версия (08:26, 2 марта 2014) (править) (отменить) Rekby (Обсуждение | вклад) (→Предварительная информация) |
||
(1 промежуточная версия не показана) | |||
Строка 2: | Строка 2: | ||
=== Предварительная информация === | === Предварительная информация === | ||
- | Работает только на Unix-сайтах, для настройки потребуется подключение по [[SSH|ssh]] настрока crontab. | + | * Работает только на Unix-сайтах, для настройки потребуется подключение по [[SSH|ssh]] настрока crontab. |
+ | * Для работы этого ограничителя нужно предварительно настроить обычный через личный кабинет. | ||
=== Настройка === | === Настройка === | ||
Строка 10: | Строка 11: | ||
# переместить ваш .htaccess из папки http в домашнюю папку пользователя и переименовать в htaccess_template | # переместить ваш .htaccess из папки http в домашнюю папку пользователя и переименовать в htaccess_template | ||
# добавить в unix_cron ежеминутное задание на выполнение скрипта ограничителя вида | # добавить в unix_cron ежеминутное задание на выполнение скрипта ограничителя вида | ||
- | # | + | # создать в корне папки http файл block.html - он будет показываться блокированным посетителям. |
* * * * * /usr/local/bin/php -f /home/virtwww/w_blablabla_32423/auto_deny.php | * * * * * /usr/local/bin/php -f /home/virtwww/w_blablabla_32423/auto_deny.php | ||
Текущая версия
Этот ограничитель - модификация стандартного ограничителя для работы со скачками нагрузки средней величины.
[править] Предварительная информация
- Работает только на Unix-сайтах, для настройки потребуется подключение по ssh настрока crontab.
- Для работы этого ограничителя нужно предварительно настроить обычный через личный кабинет.
[править] Настройка
Для его настройки нужно:
- скачать и распаковать в корень FTP-папки файл http://rekby.1gb.ru/scripts/auto_deny.php.gz
- в начале файла прописать все домены, работу которых нужно контролировать (поддомены www. учитываются автоматически, их писать не нужно), домены .рф нужно записывать в punycode-форме.
- переместить ваш .htaccess из папки http в домашнюю папку пользователя и переименовать в htaccess_template
- добавить в unix_cron ежеминутное задание на выполнение скрипта ограничителя вида
- создать в корне папки http файл block.html - он будет показываться блокированным посетителям.
* * * * * /usr/local/bin/php -f /home/virtwww/w_blablabla_32423/auto_deny.php
[править] Отличия от стандартного ограничителя
Стандартный ограничитель вызывается перед обработкой каждого вашего php-файла и принять решение о блокировке может только когда обработка php уже началась и на это затрачено процессорное время сервера. Этот ограничитель вызывается 1 раз в минуту независимо от посещения вашего сайта и анализирует текущую нагрузку. Если она превышает параметры, то в .htaccess добавляются правила, запрещающие обращения к сайту на уровне apache, т.е. для понимания того что нужно блокировать запрос уходит значительно меньше ресурсов. Пользователям в этом случае будет отдаваться статическая страница с вашим сообщением, за счет этого ограничитель может сглаживать более мощные всплески нагрузки.