Kompilacja NGINX 1.9.3 + Google Page Speed

nginxps

 

Witajcie!

Po długej pzerwie – przepraszam za moją nieobecność, ale przeprowadziłem się “na swoje” i zmieniłem prace. Musiałem się zaaklimatyzować no i przyzwyczaić – dziś pzyjechałem na “weekend” do rodziców więc mam chwilkę czasu i postanowiłem napisać poradnik dot. kompilacji serwera WWW nginx którego zacząłem wszędzie stosować z dodatkiem Google Page Speed – taka konfiguracja działa już na dwóch serwerach jakimi zarządzam i działa to wręcz idealnie i bardzo szybko.. całośc kompiluje na Debianie 8.1 (robiłem też na 7 i również OK).

Na samym początku dodajemy do systemu możliwośc pobierania paczek źródłowych.

1. Dodajemy do pliku /etc/apt/sources.list ->

nano /etc/apt/sources.list
deb http://ftp.pl.debian.org/debian testing main contrib non-free
deb-src http://ftp.pl.debian.org/debian testing main contrib non-free

2. Teraz naley zainstalować paczki potrzebne do kompilacji nginx

apt-get update; apt-get install dpkg-dev build-essential zlib1g-dev libpcre3 libpcre3-dev unzip curl libcurl4-openssl-dev libossp-uuid-dev
apt-get source nginx
apt-get build-dep nginx

Pobieramy źródła nginx w wersji 1.9.3 (najnowsza na 01.08.2015)

3. Czas na dodatek Page Speed – przechodzimy do katalogu modules w miejscu źródeł nginx

cd /usr/src/nginx-1.9.3/debian/modules
wget https://github.com/pagespeed/ngx_pagespeed/archive/v1.9.32.3-beta.tar.gz
tar zxvf v1.9.32.3-beta.tar.gz
cd /usr/src/nginx-1.9.3/debian/modules/ngx_pagespeed-1.9.32.3-beta
wget https://dl.google.com/dl/page-speed/psol/1.9.32.3.tar.gz
tar -xzvf 1.9.32.3.tar.gz

Edytujemy plik w którym definiujemy “z czym” ma się skompilować nam nginx

nano /usr/src/nginx-1.9.3/debian/rules

A robimy to doklejając:

--add-module=$(MODULESDIR)/ngx_pagespeed-1.9.32.3-beta

A wygląda to tak: (wycinek z części pliku)

...
--add-module=$(MODULESDIR)/headers-more-nginx-module \
--add-module=$(MODULESDIR)/nginx-auth-pam \
--add-module=$(MODULESDIR)/nginx-cache-purge \
--add-module=$(MODULESDIR)/nginx-dav-ext-module \
--add-module=$(MODULESDIR)/nginx-development-kit \
--add-module=$(MODULESDIR)/nginx-echo \
--add-module=$(MODULESDIR)/ngx-fancyindex \
--add-module=$(MODULESDIR)/nginx-http-push \
--add-module=$(MODULESDIR)/nginx-lua \
--add-module=$(MODULESDIR)/nginx-upload-progress \
--add-module=$(MODULESDIR)/nginx-upstream-fair \
--add-module=$(MODULESDIR)/ngx_http_substitutions_filter_module \
--add-module=$(MODULESDIR)/ngx_pagespeed-1.9.32.3-beta

%:
dh $@ --with systemd

override_dh_auto_configure: $(foreach flavour,$(FLAVOURS),config.arch.$(flavour))
override_dh_auto_build: $(foreach flavour,$(FLAVOURS),build.arch.$(flavour))
override_dh_strip: $(foreach flavour,$(FLAVOURS),strip.arch.$(flavour))
override_dh_clean: $(foreach flavour,$(FLAVOURS),clean.$(flavour))
...

4. Kompilujemy..

cd /usr/src/nginx-1.9.3/ && dpkg-buildpackage -b

Po zakończonej kompilacji przechodzimy do instalacji:

cd /usr/src/
dpkg --install nginx-common_1.9.3-1_all.deb nginx_1.9.3-1_all.deb nginx-extras_1.9.3-1_amd64.deb

5. Restart nginx i sprawdzamy czy działa 😉 Jak zresetuje się bez błędów to jesteśmy w  domu 🙂

/etc/init.d/nginx restart