Вопрос отладки PHP-скриптов будоражит умы многих разработчиков. Так же эта инструкция поможет и тем, кто Docker не использует. На самом деле всё очень просто, достаточно прокинуть порт с удалённого сервера на локальный (так называемый remote port forwarding или ssh tunnel), делается это одной командой, но требует предварительной правки конфигов. Начнём. […]
Рубрика: Трудовыебудни
Как на Windows 10 скомпилировать из исходника на Go Lang бинарник для Linux?
Этой заметкой открываю новую рублику по программированию на Go Lang. Один из первых вопросов, которые пришлось решить — как пользователю Windows 10 скомпилировать исполняемый файл для Linux сервера? Процесс сборки бинарного файла на системе одного типа для системы другого типа называется кросскомпиляцией. Ответ достаточно прост, сначала нужно задать константы: set […]
Как запускать cron jobs для docker-контейнеров?
Следуя хорошим практикам работе с Docker, в каждом контейнере должно быть запущено одно и только одно приложение. Как только приложение завершает работу — контейнер останавливается. Эти ограничения заставляют посмотреть на работу с cron задачами по-другому. Конечно, законами физики не запрещено в каждый контейнер устанавливать более одного приложения и запускать крон […]
Оптимизация и тюнинг производительности MariaDB MySQL сервера внутри Docker
Пожалуй, это единственное актуальное и максимально полное руководство на русском языке по оптимизации MySQL сервера в docker-контейнерах. По сути большая часть советов отлично подойдёт и тем, кто не работает с Docker. Оптимизацию базы данных можно разделить на 3 слоя: Оптимизация запросов, таблиц и индексов Тюнинг параметров сервера баз данных Оптимальная […]
CentOS 7 настройка SSH авторизации по ключу без пароля
Как сгенерировать пару приватного и публичного ключей для ssh соединения? От имени пользователя, для которого нужно создать ключи: ssh-keygen
Как установить библиотеку ncurses для PHP
yum install ncurses-devel phpize —clean phpize ./configure (./configure —with-php-config=/usr/bin/php-config —enable-ncursesw=autodetect —with-ncurses) make make install
Как в docker-compose перезапустить запущенный контейнер с пересборкой
После редактирования Dockerfile или docker-compose.yml файла, например, прообрасывания порта или добавления волюма, изменения не вступают автоматически! Даже если сделать restart контейнера то всё-равно ничего не изменится. Чтобы применить изменения к контейнеру его нужно пересобрать (build).
Как в Docker отключить логирование всех контейнеров?
По-умолчанию в Docker для всех контейнеров устанавливается режим логирования json-file, т.е. весь STDOUT каждого контейнера будет писаться в файл. В целях отладки это может быть полезно, однако большой поток логов и их запись на диск может занять больше ресурсов, чем полезная нагрузка. Достаточно спорное решение, особенно для тех, кто имел опыт […]
Как в CentOS отследить нагрузку на диск?
iostat -xk -t 5 Если же такой команды нет, то нужно установить пакет sysstat: yum install sysstat Ещё одна интересная утилита — iotop, своеобразный аналог top или htop, но для дисковой подсистемы. О том как сделать профилирование нагрузки на файловую систему с помощью iostat и gnuplot можно прочитать в этой […]
Использование Redis внутри Docker в продакшене как основное хранилище данных
Redis очень неплох. Всё больше разработчиков и компаний выбирают его не только в качестве кэширующего in-memory сервиса или системы очередей, но в и в качестве основного хранилища данных, взамен MySQL или Postgres. Да, именно так. Благодаря поддержке разнообразных структур данных, таких как: строки, списки, множества, упорядоченные множества и хэш-таблицы, на […]