Рубрика: CentOS 7

Ротация файлов по размеру в logrotate

Для примера буду описывать ротацию логов nginx. После установки nginx, вы получите следующий конфиг для ротации логов — /etc/logrotate.d/nginx.

Все не указанные явно параметры будут браться из дефолтного конфига /etc/logrotate.conf. Для того, чтобы защитить сервер от заполнения всего свободного пространства диска логами aceess.log, ротация раз в день не подходит. Тебе за час без напряга […]

Настройка web сервера nginx, php-fpm, php7, MariaDB на CentOS 7

1. Выключить Selinux на время установки. Включенный Selinux может привести к странному поведению во время установки. Выключить Selinux на CentOS 7 можно с помощью команд:

После чего перезагрузим систему:

Также на время установки можно выключить firewall(не выключайте, если система доступна из интернета)

Проверим, что Selinux, таки выключился:

SELinux status: disabled […]

Настройка Swap в CentOS/Ubuntu

Изменим поведение CentOS/Ubuntu в отношении использования ОЗУ и подкачки (раздел swap). Есть такой параметр vm.swappiness, который по умолчанию имеет значение 60, и контролирует процент свободной памяти, при которой начнется активный сброс страниц в раздел swap. Иными словами, при 100-60=40% занятой памяти, CentOS/Ubuntu уже начнет использовать раздел swap. При большом количестве ОЗУ в компьютере, лучше изменить […]

Анализ SIP трафика в Asterisk с помощью sngrep

Практически с любым сервером asterisk время от времени случаются проблемы — то голос пропадает, то звонки не проходят, то качество звука становится невыносимым. Решение каждой такой задачи — отдельное нетривиальное исследование, в котором нет универсальных советов. Значительно упрощает подобное расследование консольная утилита sngrep, которая а реальном времени позволяет анализировать и sip трафик, либо записывать дампы. […]

Защита админки wordpress с помощью fail2ban

Для организации простенькой защиты от ботов, которые постоянно проверяют на прочность вашу wordpress админку, быстрее всего настроить fail2ban. Это многофункциональное и эффективное средство для защиты сервисов от постороннего доступа. Рассмотрим его применительно к wordpress. В интернете постоянно пасутся стада ботов, проверяющие доступ к тем или иным сервисам. Чаще всего это боты очень простые, они просто […]

Apache Bench тестируем работу веб-сервера

Утилита Apache Bench (ab) предназначена для тестирования работы web-сервера и эмуляции нагрузки им сервера. Установка Ubuntu/Debian:

CentOS:

Пример запроса:

Синтаксис запроса:

Наиболее полезные Ключи: -n requests Количество запросов, которое надо выполнить; -c concurrency Кол-во одновременных запросов; -t timelimit Максимальное время ожидания ответа; -b windowsize Размер буфера TCP send/receive, в байтах; -p […]

Backup mysql базы в docker контейнере

Для бэкапа mysql базы достаточно запустить mysqldump в контейнере и сохранить файл на хост. Делается это все одной командой:

Ну и сразу же простенький скрипт приведу по регулярному созданию бэкапов:

На сервере с бэкапами забираем эти файлы через rsync:

Я подключаюсь пользователем rsuncuser по ключу из файла /root/.ssh/id_rsa к серверу 10.0.0.101 с […]

Nginx — Too many open files

Небольшая заметка по одной из ошибок nginx, с которой вы можете столкнуться по мере роста нагрузки на web сервер. Исправляется она легко, но я оставлю небольшие комментарии по ней, чтобы было понимание причины. Полностью эта ошибка будет выглядеть примерно так:

К этой ошибке приводит системное ограничение на количество открытых файлов для рабочего процесса. Посмотреть […]

Как удалить большое количество файлов в linux и windows

Рассмотрим варианты удаления огромного количества файлов в папках и подпапках… Для линукс наиболее оптимальный вариант перейти в нужную папку и вбить команду:

или же забить путь папки, файлы которой следует удалить

так же, предыдущие две команды помогают удалить огромное количество файлов в одной папке, где в свою очередь rm -rf . просто не […]

Включаем лог медленных запросов MySQL

Чтобы включить лог медленных запросов открываем mysql конфиг:

ищем настройку изменяем её на следующие параметры:

log_slow_queries — путь до файла в который будут записываться медленные запросы. long_query_time — время в секундах, запросы выполняющиеся дольше указанного времени попадут в лог. перезапускаем mysql