Welcome php 7.1 and brotli

Привет,

Днес успешно мигрирах root.bg към php 7.1 и добавих поддръжката на протокола за копресиране на google – brotli.

Резултата от двете гореспоменати операции – още по-бърз и оптимизиран root.bgWelcome php 7.1 and brotli!

Ето и стъпките за инсталиране и конфигуриране на php 7.1 и brotli :

Архитектурата на уеб сървъра ми е 64 битова а за операционна система ползвам debian 8. За целта добавих репото на Ondřej Surý който вече поддържа и пакети за debian 8.

Схемата е следната :

apt-get install apt-transport-https lsb-release ca-certificates
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
apt-get update
apt-get install php7.1

След това е нужно да се конфигурира php7.1-fpm с настройките които досега използвах в php7.0-fpm. Резултата след това е :
Welcome php 7.1 and brotli

До колкото четох, задължителна част от това wordpress-а ни да работи, е той да е обновен до последната стабилна версия : 4.7

Brotli

Накратко какво е brotli :

Brotli is a generic-purpose lossless compression algorithm that compresses data using a combination of a modern variant of the LZ77 algorithm, Huffman coding and 2nd order context modeling, with a compression ratio comparable to the best currently available general-purpose compression methods. It is similar in speed with deflate but offers more dense compression.

Благодарение на cloudflare, вече има и brotli модул за nginx! Инсталацията му е супер елементарна, като за нея е нужно nginx-а ни да е компилиран ръчно, а не да е инсталиран чрез apt пакетния мениджър.

cd /usr/src/
git clone https://github.com/cloudflare/ngx_brotli_module.git
cd ngx_brotli_module
git clone https://github.com/google/brotli.git

После се пуска конфигуриране на nginx : ./configure с

--add-module=/usr/src/ngx_brotli_module-master/

След успешното компилиране, последното което трябва да се направи, е добавянето на следните редове в /etc/nginx/nginx.conf :

brotli on;
brotli_min_length 1000;
brotli_comp_level 5;
brotli_types text/plain text/css text/xml application/javascript application/x-javascript application/xml application/xml+rss application/ecmascript application/json image/svg+xml;

Резултата е следния:

brotli test

Тест-а е направен от https://tools.keycdn.com/brotli-test

Това е!