Nginx (engine-x) je open source a vysoce výkonný HTTP server, reverzní proxy a IMAP/POP3 proxy server. Mezi vynikající vlastnosti Nginx patří stabilita, bohatá sada funkcí, jednoduchá konfigurace a nízká spotřeba paměti. Tento výukový program ukazuje, jak vytvořit balíček Nginx .deb pro Ubuntu 16.04 ze zdroje, který má zkompilovaný modul Google PageSpeed.
PageSpeed je modul webového serveru vyvinutý společností Google za účelem urychlení doby odezvy webu, optimalizace vráceného HTML a snížení doby načítání stránky. Mezi funkce ngx_pagespeed patří:
- Optimalizace obrázků:odstranění metadat, dynamická změna velikosti, rekomprese.
- Minifikaci, zřetězení, vkládání a vytváření obrysů CSS a JavaScriptu.
- Vložení malého zdroje.
- Odložení načítání obrázků a JavaScriptu.
- Přepisování HTML.
- Prodloužení životnosti mezipaměti.
více viz https://developers.google.com/speed/pagespeed/module/.
Předpoklady
- Ubuntu Server 16.04 – 64 bit
- práva root
Co budeme dělat v tomto tutoriálu:
- Nainstalujte nezbytné balíčky.
- Instalace nginx s ngx_pagespeed.
- Testování.
Nainstalujte závislosti sestavení
sudo apt-get install dpkg-dev build-essential zlib1g-dev libpcre3 libpcre3-dev unzip
Instalace nginx s ngx_pagespeed
Krok 1 – Přidání úložiště nginx
Vytvořte nový soubor úložiště /etc/apt/sources.list.d/nginx.list pomocí vim.
vim /etc/apt/sources.list.d/nginx.list
Zde přidáte řádky:
deb http://nginx.org/packages/ubuntu/ xenial nginx deb-src http://nginx.org/packages/ubuntu/ xenial nginx
Uložte soubor a ukončete editor.
Přidejte klíč a aktualizujte úložiště:
sudo sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ABF5BD827BD9BF62
sudo apt-get update
Krok 2 – Stáhnout nginx 1.10 z úložiště ubuntu
Vytvořte nový adresář pro zdrojové soubory nginx a stáhněte si zdroje nginx pomocí apt:
cd ~
mkdir -p ~/new/nginx_source/
cd ~/new/nginx_source/
apt-get source nginx
Někdy se vyskytne chyba: 'balíčky nelze ověřit'.
Můžete to vyřešit zadáním příkazu níže:
rm -rf /var/lib/apt/lists/
apt-get update
Dále nainstalujte všechny závislosti pro sestavení balíčku nginx.
apt-get build-dep nginx
Krok 3 – Stažení Pagespeed
Vytvořte nový adresář pro PageSpeed a stáhněte si zdroj PageSpeed.
V tomto tutoriálu použijeme rychlost stránky 1.11.33.
mkdir -p ~/new/ngx_pagespeed/
cd ~/new/ngx_pagespeed/
ngx_version= 1.11.33.3
wget https://github.com/pagespeed/ngx_pagespeed/archive/release-${ngx_version}-beta.zip
unzip release-${ngx_version}-beta.zip
cd ngx_pagespeed-release-${ngx_version}-beta/
wget https://dl.google.com/dl/page-speed/psol/${ngx_version}.tar.gz
tar -xzvf ${ngx_version}.tar.gz
Krok 4 – Konfigurace nginx pro sestavení pomocí Pagespeed
Přejděte do adresáře 'nginx_source' a upravte soubor 'rules' pomocí vim.
cd ~/new/nginx_source/nginx-1.10.1/debian/
vim rules
Přidejte nový řádek pod 'COMMON_CONFIGURE_ARGS':
--add-module=../../ngx_pagespeed/ngx_pagespeed-release-1.11.33.3-beta \
Uložte a ukončete.
Krok 5 – Sestavení balíčku nginx Ubuntu a jeho instalace
Přejděte do zdrojového adresáře nginx a sestavte nginx ze zdroje pomocí příkazu dpkg-buildpackage:
cd ~/new/nginx_source/nginx-1.10.1/
dpkg-buildpackage -b
Balíček nginx Ubuntu bude uložen pod ~/new/ngix_source/. Po dokončení tvorby balíčku se prosím podívejte do adresáře:
cd ~/new/ngix_source/
ls
A nainstalujte nginx a moduly deb pomocí příkazu dpkg.
dpkg -i *.deb
Testování
Krok 1 – Testování pomocí příkazu Nginx
Spusťte nginx -V a zkontrolujte, zda byl modul ngx_pagespeed zabudován do nginx.
nginx -V
Krok 2 – Testování pomocí Curl Command
Přejděte do konfiguračního adresáře nginx.
cd /etc/nginx/conf.d/
a upravit výchozí konfigurační soubor virtuálního hostitele.
vim default.conf
Chcete-li povolit ngx_pagespeed, vložte konfiguraci níže.
pagespeed on;
# Needs to exist and be writable by nginx. Use tmpfs for best performance.
pagespeed FileCachePath /var/ngx_pagespeed_cache;
# Ensure requests for pagespeed optimized resources go to the pagespeed handler
# and no extraneous headers get set.
location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" {
add_header "" "";
}
location ~ "^/pagespeed_static/" { }
location ~ "^/ngx_pagespeed_beacon$" { }
Uložte a ukončete.
Dále otestujte konfigurační soubor nginx a ujistěte se, že neexistuje žádná chyba:
nginx -t
Restartujte nginx:
systemctl restart nginx
Nakonec přejděte na webový server nginx pomocí příkazu curl:
curl -I 192.168.1.6
Závěr
Webový server nginx je stabilní a rychlý open source http server, který podporuje různé moduly pro optimalizaci doručování obsahu. Jedním z těchto modulů je modul „PageSpeed“, který vyvinula společnost Google. Na rozdíl od Apache nelze moduly nginx dynamicky načítat, takže při sestavování balíčku nginx musíte požadované moduly vybrat.