Архив за Март, 2017

PHPUnit: Или еще раз про тестирование кода

Как уже ранее писалось тестирование кода существенно упрощает его эксплуатацию. Я пишу на php, для тестирования использую phpunit.
PHPUnit — средство модульного тестирования веб-приложений, написанных на PHP.
(далее…)

Включаем HTTP/2 (ALPN) на Nginx


Последнее время достаточно часто можно слышать про протокол HTTP/2. Что это такое и зачем нам нужен данный протокол?

Современные сайты состоящие из большого количества статических элементов, при загрузке инициируют на каждый элемент статики отдельное TCP-соединение. Это создает определенную задержку при загрузке сайта. Мультиплексирование позволяет браузеру выполнять множество запросов в рамках одного TCP-соединения — это самое главное преимущество HTTP/2. Также важным требованием протокола HTTP/2 является обязательное шифрование (HTTPS).

Если вы используете HTTP/2 на базе Nginx, то с 31 мая 2016 года он перестал работать в Chrome и остальных браузерах.

Для использования HTTP/2 протокола требуется поддержка переключения с обычного TLS на HTTP/2.  Существует две реализации переключения: NPN (Next Protocol Negotiation) и ALPN (Application-Layer Protocol Negotiation). При этом первая реализация устарела и заменёна второй. При этом для работы второй реализации — ALPN, нужен OpenSSL версии (1.0.2+), более старые поддерживают только NPN.
(далее…)

Миграция с Synology на XPEnology

В далеком 2010 году в качестве внешнего хранилища под виртуальные машины домашней лаборатории я выбрал Synology DS210j. За практически 7 лет, я убедился что сделал правильный выбор (наверное самая лучшая реклама для вендора это время сколько служит их железо), но всегда находится «НО».

Сняв на неделе benchmark с данного массива, я понял, что процессор 800 МГц (MARVELL_88F6281 ARM) и ОЗУ 128 Мбайт DDR 800 МГц уже не могут тягаться по скорости с современными носителями. Так как было желание избавиться от двух железок на антресолях, была рассмотрена возможность покупки нового массива, с расчетом на то, что получиться совместить «все в одном». Но из за отсутствия в прошивке необходимого функционала (мне нужна виртуализация в том числе windows, которая например есть на новых freenas на основе virtualbox, а в synology пока только docker), плюс массив нужной комплектации 2017 году неожиданно дорого стоит, было принято решение сделать наоборот, т.е. смигрировать массив в виртуализацию.
(далее…)

Конфигурации Nginx с FastCGI для osTicket

При переходе на связку Nginx с FastCGI перестала работать тикетница на osTicket. Стандартный рецепт с конфигурацией к сожалению не заработал, пришлось искать решение по форумам. Для ленивых спрятал его подкатом…
(далее…)

Tomcat 8 на Centos 6. Делаем RPM пакет.

При переезде с Tomcat 7 на Tomcat 8 с сожалением обнаружил, что в публичных репозитариях для Centos 6 нет необходимого пакета. Так как необходимо было раскатить обновление на большое количество серверов, было принято решение сделать свой пакет.

За основу был взят репозитарий: https://github.com/wcarty/rpm-tomcat8, от которого был сделан форк с моими изменениями: https://github.com/spions/rpm-tomcat8

(далее…)