Lopas

Рейтинг
13
Регистрация
23.09.2012
Den73:
спс поржал :p

Видимо над собой :)

Одним только ограничением limit_ в nginx далеко не всегда можно помочь.
limit_ поможет если у вас 10 ботов атакуют с большой интенсивностью каждый (более 2 запросов в секунду).
Ограничение limit_ безусловно очень полезно и должно быть установлено.
Но если у вас например 100-300 ботов атакуют с не высокой интенсивностью каждый (например 10-20 запросов в минуту каждый), то ограничения limit_ такие боты будут проходить.

Что бы медленных ботов находить нужно более сложный анализ проводить.
1) смотреть какие страницы имеют повышенную посещаемость.
2) Какие юзер агенты и реферреры аномально часто используются.
3) Иметь белый список поисковиков
4) Если атаки нет, то автоматически отключать бан ботов, что бы снизить вероятность ложного срабатывания.
5) Для умных ботов ставить куки и смотреть кто их не вернет.

У меня разработан автоматический анализатор логов, который использует вышеперечисленные и другие возможности . Обращайтесь, настрою. ICQ#: 1699386семь9

Не нужно очевидные вещи говорить. Не думаю, что ТСа ботнетом по 1-2 запроса в сек атакуют. Сайтам на впсках далеко до настоящего ддоса =) Nginx надо уметь настраивать, он справится с 10000 ботами по 3 запроса в сек без проблем на слабейшей впске.

Для анализа есть автоматизированные сервисы.

Анализатор логов - ну удачи o_O, видимо тебе совсем делать нечего. А шарашкина контора из ботаника и его парочке глупых работников продавающая настройку веб-сервер за тысячи руб в час - это петросянщина.

ТС, изучайте nginx.

И обходите стороной таких как Himiko. Тысять тысяч за одну строку limit_req в конфиге nginx с вас возьмут и на форумах будут хвалиться, что они крутые...

DenisVS:
#!/bin/sh


DB_NAME="db_name";
mysql --user=root -p --execute="USE information_schema; SELECT CONCAT(\"ALTER TABLE \`\", TABLE_SCHEMA,\"\`.\`\", TABLE_NAME, \"\` TYPE = InnoDB;\") as MySQLCMD from TABLES where TABLE_SCHEMA = \""${DB_NAME}"\";" > ${DB_NAME}-temp.sql;
sed '/MySQLCMD/d' ${DB_NAME}-temp.sql > ${DB_NAME}-innodb.sql;
mysql --user=root -p < ${DB_NAME}-innodb.sql;
rm ${DB_NAME}-temp.sql;
rm ${DB_NAME}-innodb.sql;

Спасибо, работает, если добавить --force=TRUE. А можете добавить for i и сделать тоже самое только для всех баз в MySQL одновременно, без указания имени базы?!

DenisVS:
#!/bin/sh

DB_NAME="db_name";
mysql --user=root -p --execute="USE information_schema; SELECT CONCAT(\"ALTER TABLE \`\", TABLE_SCHEMA,\"\`.\`\", TABLE_NAME, \"\` TYPE = InnoDB;\") as MySQLCMD from TABLES where TABLE_SCHEMA = \""${DB_NAME}"\";" > ${DB_NAME}-temp.sql;
sed '/MySQLCMD/d' ${DB_NAME}-temp.sql > ${DB_NAME}-innodb.sql;
mysql --user=root -p < ${DB_NAME}-innodb.sql;
rm ${DB_NAME}-temp.sql;
rm ${DB_NAME}-innodb.sql;

Ошибки не игнорирует и скрипт останавливается.

myhand:
Это значит - не из официальных репозиториев. Эти пакеты - не часть дебиан.

Нет, это я тупой, вторую команду не выполнил. Ключ импортировал но не добавил...

myhand:
Ну вот. Удалив метапакет purge - вы не удалите его зависимости. Не хотите удалять их по-отдельности (как объясняли выше) - попробуйте: apt-get autoremove --purge percona-server-server.

Я просто сразу все пакеты Percona purge а потом их install.

myhand:
Вы наверное и в сглаз и порчу верите?

Как знать как знать.

Всем: Спасибо за советы. Правда пришлось самому додумывать, но всё поправил.

myhand:
Ах вот оно еще что... Не зря, видать, я вас "оскорблял". Как в воду глядел - пакет действительно "левый".

Либо у вас *еще* установлены дебиановские пакеты (штатные для mysql, например mysql-common) - либо то, что вы удаляете является метапакетами. Удалите тогда остальные пакеты percona-server* и вновь установите percona-server-server.
Вы это внимательно прочли?

Левый? Нет. Это метапакет. Странно что сразу нормальные не ставятся. Не доглядел, буду писать сразу правильные пакеты - скажу результат.

А оскорблять прекращайте.

Репозиторий не подтверждается. Хоть ключ и есть. Это только на этой машине так, на всех остальных нет проблем. На пакеты это не должно влиять.

alexcollin:
Тот же Linux. В IT сообществе, под Linux подразумевают CentOS, RedHat, etc... Разница между ними - kernel.

Эм, первый раз слышу, чтобы в понятие 'Linux' не включали 'Debian'. По-моему неправильно у вас название темы написано.

alexcollin:
Пусть, острота вашего контекста, будет уместна в вашем топике. Видно в привычку вошло у вас делать то, что вы пытались столь долго донести до меня.

Okay.

Кстате а давно Debian отделилась от Linux?

alex90909:
Нужны модули:
Memcache
GeoIp

аська 610101402

Откройте ssh и напишите:

aptitude -y -f install geoip-bin geoip-database memcached

Это если модули для самой ОС. Если для php (как вариант), то

aptitude -y -f install php5-geoip php5-memcache

Если чего-то не поймёте, спросите тут,отвечу =)

Всего: 181