Вырубился сервер реплик, включаем и при попытке запуска слэйва получаем ошибку Relay log read failure
Ориентация экрана в Linux командой xrandr
Когда кода у программиста становится слишком много, его листинг удобнее смотреть на вертикальном мониторе. Крутить его программно можно в терминале командой xrandr
Опасность копирования и вставки кода в терминал прямо с web страниц
НИКОГДА не следует копировать команды и вставлять их прямо в свой терминал. Спросите любого разработчика или администратора, копировали ли они
Включить поддержку curl в php
Если мы собрали php по минималке и у нас отсутствует данный полезный модуль, а проверить это можно просто командой в cli
Блокировка форм, защита от повторных кликов
Зачастую при отправке форм с ajax нужно подстраховаться от их повторной отправки. Можно пойти велосипедами — через объявление некой булевой
Javascript функция проверки видимости элемента на странице
Стандартные функции jquery с использованием псевдоклассов is(«:visible»), is(«:hidden») не решают такой задачи, когда нужно определить что элемент находится в зоне
Ubuntu навсегда избавляемся от ввода sudo пароля в терминале
Постоянно вводить пароль в терминале для доступа с правами суперпользователя — это затраты времени. Открыли/закрыли терминал и заново приходится вводить
Ошибки в ssh терминале Ásbrú Connection Manager: GLib-LOG **: setenv() / Gtk-WARNING
При подключении по ssh в asbru-cm в окружении GNOME можем наблюдать следующие ошибки GLib-LOG **: setenv() / Gtk-WARNING
Замена SFTP MobaXterm для Linux в Desktop GNOME
MobaXterm — отличная программка для винды, позволяющая гораздо лучше всяких других ssh клиентов(Putty, Kitty) познакомиться с unix системами, благодаря автоматическому
Как вернуть языковые настройки в Ubuntu 20.04
При смене окружений рабочего стола и последующем их удалении/переустановке могут слететь языковые настройки. После настойки системы под себя с классическим
Sphinx 3.4.1 — настройка сервиса одной командой, с автозагрузкой, ротацией логов и php api
Добавил автоматическую сборочку, со всем необходимым для быстрой настройки sphinxsearch сервиса одной командой, для индексации MySQL бд и работы с
SphinxClient API с подсветкой сниппетов
Простенькое sphinx api на php возвращающее лишь массив, без всего лишнего. Метод buildExcerpts для построения сниппетов юзать совершенно не обязательно.
Быстрый патч nginx конфигов пула при переносе серверов в ispmanager 6
В крайней 6 версии isp панели разработчики учинили конкретный дебилизмус, распределив fpm сокеты под каждый сайт и обозвав их тупо
Настройка http авторизации для nginx страниц на примере phpmyadmin
Для дополнительной защиты закроем phpmyadmin http авторизацией, оставив без пароля доступ лишь для подсети своего провайдера.
Установка memcached сервера для php
Memcached используется в основном для сохранения в оперативке данных сложный выборки бд. Ставится в пару команд
Асинхронность в PHP. Отдать ответ клиенту и продолжить выполнение скрипта.
Иногда требуется продолжить выполнение php скрипта, после отдачи HTTP ответа(вывода) клиенту. Т.е. задача чтобы клиент «отвалился» не ожидая полного выполнения
Всё что нужно вашему .htaccess — набор необходимых правил
В сети можно найти достаточно много различных примеров с правилами реврайтов в .htaccess , добрая половина из которых содержит ошибки,
Отключение псвевдоклассов :hover на элементах
Можно конечно использовать дополнительный класс или накидать костыль на js. Но например у нас есть bootstrap проект, с классами кнопок
VScode решение WebSocket close with status code 1006, channel 2: open failed: administratively prohibited: open failed
Если при подключении к удаленному серверу в расширении remote ssh возникает ошибка: WebSocket close with status code 1006 или же
Рандомизация строк и массивов с привязкой к определенному параметру
Бывает что нужно рандомизировать массив либо строку, но при этом сделать этот рандом неизменяемым. Например, есть у нас тайтлы страниц,
Как поменять местами элементы массива php. Выборка случайных элементов из массива в одну строку.
Пару полезных приёмов работы с массивами PHP, без излишних велосипедов. Поменять местами элементы в массиве Чтобы поменять местами элементы в
Определение/реализация последовательности чисел 2 через 2
Стоит задача реализовать последовательность чисел по условию 2 через 2, то есть числа должны идти в таком порядке: 0, 1,
Список основных команд в Linux
Системная информация arch отобразить архитектуру компьютера uname -m uname -r отобразить используемую версию ядра dmidecode -q показать аппаратные системные компоненты
Установка Docker Compose в Linux Debian и запуск своего тестового контейнера
1. Установка Docker Compose Для создания первого проекта при помощи Docker Compose нам понадобится предварительно установленный docker в системе и
Решение проблем с индексированием сложных запросов через UNION выборки с алиасом
Бывает так, что условие WHERE становится неадекватным настолько, что расставить индексы для быстрого запроса не представляется возможным. Либо не подходит
Описание параметров конфигурации sshd_config
Подробное описание параметров настройки sshd config
Как поднять mariadb сервер в docker — 5 команд за минуту
Запуск mariadb mysql в докере прост как мычание. Естественно, если у вас уже установлен docker. Если нет, установить docker за
Чистим сопли от старых установок mysql
После удаления старой версии mysql с сервера, не всегда получается сразу поставить новую. Например видим такие ошибки
Добавляем репликацию для ещё одной бд mysql
Теперь мы добавляем ещё бд к уже созданной и настроенной ранее репликации.
192.168.0.111 — master
192.168.0.222 — slave
Настройка slave сервера
Репликация отдельных баз mysql на 2 сервера
Есть два сервера:
192.168.0.111 — master
192.168.0.222 — slave
Настройка master сервера 192.168.0.111
В /etc/mysql/…
Быстрые ssh коммиты из релиза в продакшн, исключая отдельные файлы/каталоги
Предположим, находясь в рабочей области релизной версии требуется быстро отправить её в продакшен. При этом отдельные файлы/каталоги нужно оставить прежними(например
Установка пакетов отсутствующих в Git Bash для Windows
Вместе с Git для Windows поставляется замечательная программка с bash средой MINGW64, в которой однако отсутствует встроенный менеджер пакетов. Но
Парсим и ресайзим аватарки из пс выдачи яндекса
Получать картинки будем из кеша chrome. Наша задача состоит не только в том, чтобы выдернуть картинки из кеша браузера, но
Перехват ошибок 404 и 50x во время проксирования
Предположим у нас есть сервер А проксирующий картинки с бекенд сервера Б. При этом мы не знаем, существует ли картинка
Дополнительные проверки в конструкциях switch/case по регулярным выражениям
Оператор switch в своих секциях case использует лишь нестрогое сравнение == переменных. Но как быть, если в секции нужно получить
Как починить мышь при двойных кликах — проблема с микропереключателем.
Проблема с двойными кликами может проявляться по разным причинам: от физической неисправности, проблем с драйверами, до повышенной влажности в помещении.
MySQL выявление, подсчет и удаление записей с повторяющимися полями
Выявить и подсчитать записи с дублирующимися полями в субд MySQL можно двумя способами: используя группировку по полю и оператор HAVING
Mysql не даёт залить дамп: ERROR 2006 (HY000): MySQL server has gone away
Увидев server has gone away обычно сразу бежишь выкручивать настройки таймаутов. Выкрутил. Заливаешь… а дамп большооой, запрос длиииинный. И под
Прокачиваем терминал: переменные HISTCONTROL и HISTSIZE в .bashrc
Когда бороды админов и пользователей командной строки начинают седеть, их начинают кумарить некоторые моменты, которые желательно научиться и уметь настраивать
Реализация авторизации OAuth 2.0 при помощи Google
Чтобы реализовать на сайте авторизацию/регистрацию через Google(да и любые подобные сервисы) желательно иметь тексты с правилами проекта и политикой конфиденциальности,
Sudoers правила. Выборочно разрешить выполнение команд пользователям без root.
С помощью утилиты sudo совершенно не обязательно выдавать пользователю абсолютно все права, на выполнение всех команд в системе, от имени
Bash как быстро сформировать локальный hosts файл из конфигов nginx
В процессе разработки многие вручную резолвят домен на ip сервера, прописывая соответствие IP hostname в локальный hosts файл, чтобы видеть