• Как в Nginx добавить заголовки в определённом location (для ответа API)?

    ptchol
    @ptchol
    Linux system administrator
    Вероятно в location /api/v1/ у вас прописано что то вроде
    if (!-e $request_filename) {
    rewrite ^.*$ /index.php last;
    }

    Поэтому запрос и уходит в location ~ "^(.+\.php)($|/)"
    Если я правильно понимаю задачу, то вам нужно для ответов бэкенда с content-type json / xml проставлять соответсвующий хедер.
    Здесь может помочь проверка хедера Content-type в ответе сервера.
    Получить его можно через переменные upstream модуля: $upstream_http_$HEADER. Тоесть в вашем случае это будет выглядеть как $upstream_http_content_type.
    А далее если вам нужно кастомное значение загловка для каждого типа контента, применить map, как то так:
    map $upstream_http_content_type $type {
    default "custom_header_default";
    "application/json" "custom_header_json";
    "text/xml" "custom_header_xml";
    }


    Сам такое ни разу не делал, поэтому отвечаю только "теоретически", как это может работать.
    Ответ написан
  • Что будет с биткоином, когда вычислительной мощности не будет хватать, чтобы майнить?

    ptchol
    @ptchol
    Linux system administrator
    Если рассматривать с "традиционной" точки зрения, то любой майнер это эммитент.
    К тому времени когда сложность повысится до невозможной, биткоин уже должен (поидее) достичь своей основной цели - стать полноценной валютой. И вполне возможно, что в этом случае эммитентами станут те лица, которые максимально в этом заинтереснованы, крупные компании и возможно государства.
    Ответ написан
    Комментировать
  • Есть ли standalone аналоги для New Relic?

    ptchol
    @ptchol
    Linux system administrator
    Нету аналогов.
    Фактически там объединено множество сервисов
    profiler'ы для разных языков
    "ловцы" ошибок (в духе getsentry)
    сбор метрик (pinba, graphite, statsd)
    сборщики логов (что то вроде graylog, logstash + elasticsearch)
    стандартный мониторинг (zabbix)
    Ответ написан
    Комментировать
  • Создание 3D презентации с ffmpeg

    ptchol
    @ptchol
    Linux system administrator
    Вам адоб премьер нужен а не ffmpeg.
    FFMpeg это транскодер с возможностью использования фильтров, но все его фильтры довольно примитивны и касаются восновном лишь качества видео, и простоты его восприятия.
    Ответ написан
    Комментировать
  • Как в nginx настроить изменение uri?

    ptchol
    @ptchol
    Linux system administrator
    Можно в локейшене изобразить такой ад:
    rewrite ^/([^/]*)/([^/]*)/(.+\.(js|css|png|jpg|jpeg|gif|ico|html))$ /$1/$3 break;

    Либо если количество "вылавливаемых" директорий конечно то:
    rewrite ^/(img|article)/([^/]*)/(.+\.(js|css|png|jpg|jpeg|gif|ico|html))$ /$1/$3 break;
    Ответ написан
    Комментировать
  • Синхронизация БД MySQL

    ptchol
    @ptchol
    Linux system administrator
    То есть вы хотите с теста на продакшен перевозить не только схему но и данные ?
    Мне кажется здесь существует только 1 вариант:
    Некий скрипт дампит ту часть схемы которую нужно перенести, необходимым образом осуществляет замену некоторых строк, заливает дамп на прод.
    В переносе только новых данных, Вам может помочь утиилитка mysqldiff.
    Но в следствие того что у вас подменяются некоторые данные, чтобы не произошло такого что все данные случайно определились как "новые", вам придется делать промежуточную базу, которая будет содержать базу теста, но с подставленными с продакшена именами, и уже эту базу сравнивать, и получать diff.
    Либо после того как сделали изменения в промежуточной базе синкать ее с продом при помощи утилиты table-sync из набора percona tools.
    Ответ написан
  • Команды в CRON: вызов скрипта по url

    ptchol
    @ptchol
    Linux system administrator
    Из замечаний, все команды лучше писать с указанием полного пути до бинарей.
    Если скрипт запускается просто "дерганием" определенного контроллера, то в качестве задания достаточно просто указать его вызов CURL'ом.
    Что то вроде
    01 05 * * * user /usr/bin/curl -s http://yourserver.com/controller >> /path/to/file.log
    Ответ написан
  • Как заставить Rsync с параметром --delete игнорировать определенную папку?

    ptchol
    @ptchol
    Linux system administrator
    --exclude=PATTERN

    mkdir testrsync
    cd testrsync/
    mkdir src dst
    cd src/
    mkdir 1 2 3 4 5 
    cd ../dst/
    mkdir ex
    cd ..
    rsync -acz --delete --exclude=ex src/ dst/ 
    ls dst/
    1       2       3       4       5       ex
    rsync -acz --delete src/ dst/ 
    ls dst/
    1       2       3       4       5
    Ответ написан
    2 комментария
  • Посоветуйте способ или мануал процесса перехода с Centos 5 на 6

    ptchol
    @ptchol
    Linux system administrator
    Боюсь даже и с напильником не получиться.
    Вот что говорит официальная документация RHEL про обновления между мажорными версиями
    Chapter 37. Upgrading Your Current System
    Поскольку CentOS клон RHEL, все там описанное применимо и для него.
    Вариант: накатывать на отдельную машину новую версию, все потихоньку переносить и проверять, после того как удостоверитесь что все норм, вводить в бой.
    Ответ написан
    Комментировать
  • На чем писать сервис сбора статистики?

    ptchol
    @ptchol
    Linux system administrator

    4 req/sec. Да делайте как удобно, все справится.

    Ответ написан
    Комментировать
  • В чём разница декодирования видео между Intel Quick Sync и DXVA?

    ptchol
    @ptchol
    Linux system administrator

    Это принципиально разные вещи.

    IntelQuickSync - технология аппаратного декодинга и энкодинга видео. Для использования этой технологии внутри своего приложения необходимо подключать Intel Media SDK, который и предоставит вам API для работы.

    DXVA - это всего лишь навсего програмный API позволяющий унифицировать работу с потоками видеоданных, для различных приложений. Он умеет переносить большую часть работы с видео на GPU, но что именно - решает сам.

    Поддержка QuickSync зависит от драйверов ОС, в Win8 драйвера поддерживают QuickSync и поидее он будет задействоваться автоматически при использовании в вашем приложении DXVA.

    Но если вы хотите каких то более оптимальных или специфичных решений, то интегрировав в ваше приложение MSDK можете напрямую работать с QuickSync

    Ответ написан