Админю.
Контакты

Достижения

Все достижения (5)

Наибольший вклад в теги

Все теги (18)

Лучшие ответы пользователя

Все ответы (13)
  • Как организовать инфраструктуру в помощью Docker?

    ctrlok
    @ctrlok
    Platform Engineer\devops на вынос, консультант
    Вопрос задан немного странно и допускает неоднозначное трактование, поэтому попробую ответить сразу на все.

    Начнём с php-fpm - это процес, который получает запрос, ищет нужные файлы, интерпритирует их и отдаёт какой-то результат наружу (через unix socket или по tcp).
    8dfac029a2f34194b22bfe0fba2e5c5e.png
    Соответственно, если мы хотим получить контейнер с каким-то сайтом на php-fpm то мы можем либо сразу запаковывать файл вместе с интерпритатором или использовать дополнительный контейнер.
    Запаковывать код вместе с интерпритатором достаточно удобно, так как мы получаем только один образ и в догонку связываем версию интерпритатора и вообще всё окружение с версией кода.
    3eeba5e5bace45f6a64f8cd20c244bf2.png

    Допустим у нас кроме динамики на сайте есть ещё и какая-то статика (для простоты мы положим её в тоже репо что и код), соответственно нам нужен какой-то nginx перед php-fpm чтобы нормально эту статику отдавать.
    Тут нам на помощь приходят docker volumes.

    В контейнере с файлами мы определяем каталоги с файлами, которые экспортим как волюмы, а при запуске контейнера с nginx уже делаем --volumes-from и указываем имя контейнера с файлами.
    08736c0db7ff494295bff8c1cfc1a2f7.png

    Соответственно итоговая схема php-fpm + nginx будет выглядеть так: контейнер с php-fpm экспозит наружу порт 8081, и волюм /var/www/site/static, а контейнер с nginx уже линкуется сетью на контейнер с php-fpm и делает VOLUMES_FROM

    661e4342b8b94fcbb24c53b71602b306.png

    Остальная часть вопроса касается в большей степени сервис дискавери и в намного меньшей степени докера. Но из того что знаю могу посоветовать посмотреть на counsul, etcd, zookeeper, а для наполнения конфига nginx апстримами - registrator или consul-template. В принципе там сама схема особо отличатся не будет.
    Ответ написан
  • Как лучше организовать работу с Vagrant и Chef?

    ctrlok
    @ctrlok
    Platform Engineer\devops на вынос, консультант
    Ну собственно только гит, в котором хранить конфиги шефа, беркса и вагранта. Еще, чтобы не мучать людей, сделайте Gemfile - тогда любой прогер склонит себе репо, сделает bundle install, berks install и сможет пользоваться.
    Ну и советую написать толковый ридми, который включает в себя эти команды.
    Ответ написан
  • Выбрать книжную социальную сеть

    ctrlok
    @ctrlok
    Platform Engineer\devops на вынос, консультант
    Есть неплохая сеть с задатками — bookmix.ru — правда там засела толпа «ентелектуалов», фанатов лукьяненка, коэля и прочих пелевиных. Прикольно их бесить обзорами типа «Белянин — хороший писатель».

    Есть еще хорошая сеть-книжны клуб — bookmate — вот лично мне он действительно нравится. Но бурного обсуждения книг там нет. Ну и есть несколько минусов.
    Зато очень удобно читать из вэба.
    Ответ написан
  • Как оставить в access.log только логи со статусом 200, а все остальное в error.log?

    ctrlok
    @ctrlok
    Platform Engineer\devops на вынос, консультант
    Если оставить за рамками зачем вам это надо, то решение достаточно простое:
    map $status $loggable {
                ~^[2]  200.log;
                default default.log;
            }
     server {
            listen        80;
    
            access_log   /var/log/nginx/$loggable  main;
    
            location / {
            root /usr/share/nginx/html;
            }
    }

    То есть мы просто мапом смотрим статус и в зависимости от этого подставляем переменную, которую уже потом испольуем при писании лога.
    Ответ написан
  • Альтернатива RememberTheMilk?

    ctrlok
    @ctrlok
    Platform Engineer\devops на вынос, консультант
    habrahabr.ru/blogs/gtd/125577/ — как раз писал про аналог RTM
    Ответ написан

Лучшие вопросы пользователя

Все вопросы (5)