NginX лгирование медленных запросов

Скорость выполнения запросов играет очень важную роль и её мониторинг может очень помоч при оптимизации работы приложения. Такие продукты как, например MySQL или PHP-FPM имеют встроенный функционал по логированию медленных завросов. Но что если нужно вести подобный access_log в NginX?

Однажды возникла такая необходимость и задача была успешно решена.

Читать далее

Как синхронизировать файлы по FTP из командной строки

Вполне может сложиться ситуация, что вам понадобиться синхронизировать большое количество файлов по протоколу FTP, да еще и с множеством поддиректорий. Звучит прочто, но проблема кроется в FTP протоколе. Дело в том, что стандартная реализация данного протокола не позволяет копировать директории, их необходимо создавать вручную и потом уже копировать файлы. Данную проблему с лёгкостью решают FTP клиенты, но если подобных клиентов с графическим интерфейсом достаточно много, то как быть если файлы нужно скопировать используя лиш командную строку?

Об этом и об утилите которая помогла мне превосходно справиться с данной задачей я расскужу в данной статье.

Читать далее

Jira Cloud: Добавить вкладку Components в Business проект

В Jira Cloud есть несколько типов проектов, самым простым по функционалу является тип Business project. Он достаточно удобен если не требуется сложного workflow. Однако на панели вкладок отсутствует весьма полезная вкладка Components. Данный функционал создавать подборки таксок указываю к какому компоненту они относятся при создании задачи, назначать исполнителей по умолчанию для этого компонента и быстро просматривать все таски для данного компонента.

Хоть господа разработчики и не предоставили данную вкладку по умолчанию они дали функционал позволяющий её добавить.

Читать далее

MySQL — Восстановление данных из бинарных логов (binary log)

Если в настройках MySQL сервера включить опцию log-bin и ещё несколько сопровождающих, то СУБД начнёт вести бинарные логи, в которые будет записываться информация о всех изменениях данных в БД. Проще говоря, эти логи будут содержать все запросы которые добавляли, удаляли или обновляли данные во всех БД (или можно настроить логировать только определённые БД).

Данные логи используются в основном для репликации, когда мастер-сервер ведёт бинарный лог, а слейв-сервера обновляют свои данные читая его.

Однако, данные логи могут служить для восстановления данных за непродолжительный период времени, в зависимости от того за какой период в конфигах MySQL указано хранить бинарные логи. Это бывает очень полезно если у вас есть бекап сделанный ночью и необходимо дополнить его данными за время от окончания бекапа до момента когда случилась беда с базой.

О том как извлечь из них данные и пойдёт речь в данной статье.

Читать далее

Как активировать DigitalOcean Private Networking на существующем дроплете

Private Networking от DigitalOcean представляет из себя локальную сеть в пределах того датацентра в котором запущен ваш сервер. Это позволяет вам настраивать взаимодействие между вашими серверами по каналу не покидающему пределов датацентра, без платы за исходящий трафик и с максимальной пропускной способностью.

Обратите внимание, что в один Private Networking входят сервера расположенные в одном и том же датацентре.

Рассмотрим ситуацию, когда у вас есть сервер на DigitalOcean и при его создании не был активирован Private Networking, но теперь появилась необходимость использования данного функционала.

Читать далее

PhpMyAdmin + Percona на Ubuntu16.04 ошибка на странице «Учетные записи пользователей»

Установив PhpMyAdmin + Percona Mysql 5.7 на Ubuntu 16.04 при попытке просмотра страницы «Учетные записи пользователей», вы можете столкнуться с ошибкой:

Your privilege table structure seems to be older than this MySQL version!
Please run the mysql_upgrade command(mysql_fix_privilege_tables on older systems) that should be included in your MySQL server distribution to solve this problem!
При этом, весь остальной функционал работает правильно.
Это вызвано тем, что phpmyadmin, проверяя версию  СУБД, ожидает формат версии MySQL и встречая отличающийся формат вывода у Percona выдаёт ошибку.
В более новых версиях phpmyadmin эту проблему обязательно пофиксят, так как набирают популярность реализации MySQL от Percona и MariaDB. Но, для тех кто столкнулся с ней в данной ситуации, ниже рассказано как исправить данную проблему.

Читать далее

Настройка Fail2Ban и Nginx для защиты от DOS атак

Если Вы управляете сервером на котором находится ваш сайт, рано или поздно Вы можете столкнуться с неприятностью в виде DOS (Denial of Service) атаки.

В данной статье будет описана быстрая настройка программы Fail2Ban и Nginx для препятствования DOS атаке. Более подобное описание установка и настройки данной утилиты Fail2Ban можно найти тут.

Читать далее

Именование сетевых интерфейсов в Debian 9 Stretch

17.06.2017 состоялся релиз Debian 9 Stretch, работа над которым велась более двух лет и который будет поддерживаться следующие 5 лет. Данный релиз посвящён памяти основателя проекта Debian — Иэна Мёрдока, ушедшего в конце 2015 года.

Одним из нововведений стал новый принцип именования сетевых интерфейсов.

Программа установки и заново установленные системы используют теперь новый стандарт схемы именования сетевых интерфейсов вместо старых имён вида eth0, eth1 и т. д. Старый способ именования страдал от состояний, при которых было возможно неожиданное изменение имён интерфейсов, что было несовместимо с монтированием корневой файловой системы в режиме только для чтения. Читать далее

Nginx статистика в реальном времени

На просторах сети Интернет размещено множество руководств по настройке веб-сервера Nginx, но, почему-то, крайне редко упоминается о встроенном механизме мониторинга активных соединений. А ведь это очень полезная информация, которая поможет следить за состоянием сервера, а также пригодится при настройке и оптимизации Nginx.

За сбор и вывод статистики отвечает модуль ngx_http_stub_status_module.

Читать далее

Установка и настройка fail2ban

Рано или поздно проходится столкнуться с тем, что кто-то пытается получить ssh доступ к вашему серверу или к админ-панели, а может к какой-то скрытой части сайта, ломясь на несуществующие пути, создавая вредоносную нагрузку на сайт. В таких случаях нужен инструмент, позволяющий отследить эти ситуации и принять меры противодействия. Таким инструментом является замечательная утилита Fail2Ban.

Fail2Ban сканирует файлы журнала (например /var/log/apache/error.log) и блокирует IP-адреса, которые показывают вредоносные признаки — слишком много сбоев паролей, эксплойты поиска и т.д.

Обычно Fail2Ban используется для обновления правил брандмауэра для блокировки IP-адресов на определенное количество времени, хотя любое другое произвольное действие (например, отправка электронной почты) также может быть настроено.

Из коробки Fail2Ban поставляется с фильтрами для различных сервисов (apache, ssh, ftp, mail и т.д.).
Fail2Ban может уменьшить частоту попыток неправильной аутентификации, несанкционированного доступа к службам сервера или слабой DOS атаки, но он не может устранить риск слабой аутентификации или дыр в безопасности.

Содержание:

  1. Установка
  2. Настройка
  3. Фильтры
  4. Управление
  5. Советы
  6. Заключение

Читать далее