Dziś przedstawiam wam poradnik kompilacji nginx-1.9.4 z obsługą protokołu HTTP/2
Same FAQ dot nowego protokołu i opis znajduje się tutaj: http://http2.github.io
HTTP/2 jest największym krokiem w rozwoju HTTP (Hypertext Transfer Protocol) od 1999 roku, gdy zaadaptowano protokół z numerkiem 1.1. Upłynęło już 16 lat i nowy (przyszły) standard zawiera naprawdę wiele udoskonaleń oraz zmian. Jakich? HTTP/2 wprowadza zmiany obejmujące prędkość wczytywania stron internetowych, dłuższe połączenia czy push dla serwerów.
Kompilacja może być uznana jako PRODUKCYJNA, kompletny serwer WWW nginx-1.9.4 (Kompilowane na Debian 8!) wraz z modułem – standardowo – GooglePageSpeed w najnowszej wersji.
1. Potrzebne pakiety
apt-get update ; apt-get upgrade -y apt-get install dpkg-dev build-essential zlib1g-dev libpcre3 libpcre3-dev unzip curl libcurl4-openssl-dev libossp-uuid-dev nano curl -y
2. Pobieramy źródła
echo 'deb http://ftp.pl.debian.org/debian testing main contrib non-free' >> /etc/apt/sources.list echo 'deb-src http://ftp.pl.debian.org/debian testing main contrib non-free' >> /etc/apt/sources.list apt-get update; apt-get build-dep nginx katalog="/var/compile" ; mkdir -p $katalog ; cd $katalog apt-get source nginx > /dev/null source="/var/compile/nginx-1.9.4"
3. Patch (http/2)
cd $source ; curl -O http://nginx.org/patches/http2/patch.http2.txt patch -p1 --dry-run < patch.http2.txt patch -p1 < patch.http2.txt
4. Moduł PageSpeed
cd $source/debian/modules wget https://github.com/pagespeed/ngx_pagespeed/archive/v1.9.32.6-beta.tar.gz tar zxvf v1.9.32.6-beta.tar.gz cd $source/debian/modules/ngx_pagespeed-1.9.32.6-beta wget https://dl.google.com/dl/page-speed/psol/1.9.32.6.tar.gz tar -xzvf 1.9.32.6.tar.gz
5. Przygotowany przeze mnie gotowy plik konfiguracyjny
cd $source/debian; rm rules; curl -O http://pliki.linuxiarz.pl/09-2015/rules
6. Kompilacja; Tworzenie paczek i ich instalacja
cd $source ; dpkg-buildpackage -b cd .. dpkg --install nginx-common_1.9.4-1_all.deb nginx_1.9.4-1_all.deb nginx-extras_1.9.4-1_amd64.deb
7. Wstępna konfiguracja
rm /etc/nginx/sites-available/* ; rm /etc/nginx/sites-enabled/* rm /etc/nginx/nginx.conf ; wget http://pliki.linuxiarz.pl/08-2015/nginx.conf -O /etc/nginx/nginx.conf wget http://pliki.linuxiarz.pl/09-2015/default_http2.conf -O /etc/nginx/conf.d/default.conf mkdir -p /etc/ssl/private chmod 710 /etc/ssl/private cd /etc/ssl/private openssl dhparam -out dhparams.pem 2048 chmod 600 /etc/ssl/private/dhparams.pem openssl genrsa -out /etc/nginx/privkey.pem 2048 openssl req -new -x509 -key /etc/nginx/privkey.pem -out /etc/nginx/cacert.pem -days 1095
8. Uruchomienie serwera WWW nginx
/etc/init.d/nginx restart
Dla Przeglądarki Firefox istnieje rozszeżenie o nazwie SPDY indicator i w sumie dla Chrome też jest SPDY indicator
Gotowe paczki: http://kompilacje.linuxiarz.pl/Debian%208/nginx-1.9.4-pagespeed-http2/