Nginx (Engine-x) ist ein quelloffener und leistungsstarker HTTP-Server, Reverse-Proxy und IMAP/POP3-Proxy-Server. Die herausragenden Merkmale von Nginx sind Stabilität, ein reichhaltiger Funktionsumfang, einfache Konfiguration und geringer Speicherverbrauch. Diese Anleitung zeigt, wie Sie ein Nginx-.deb-Paket für Ubuntu 16.04 aus einer Quelle erstellen, in die das Google PageSpeed-Modul kompiliert ist.
PageSpeed ist ein von Google entwickeltes Webservermodul, um die Reaktionszeit der Website zu beschleunigen, das zurückgegebene HTML zu optimieren und die Ladezeit der Seite zu reduzieren. Zu den Funktionen von ngx_pagespeed gehören:
- Bildoptimierung:Entfernen von Metadaten, dynamische Größenanpassung, Neukomprimierung.
- CSS- und JavaScript-Minimierung, -Verkettung, -Inlining und -Gliederung.
- Inlining kleiner Ressourcen.
- Verzögerung des Ladens von Bildern und JavaScript.
- HTML-Umschreibung.
- Cache-Lebensdauerverlängerung.
siehe mehr https://developers.google.com/speed/pagespeed/module/.
Voraussetzungen
- Ubuntu-Server 16.04 - 64-Bit
- Root-Rechte
Was wir in diesem Tutorial tun werden:
- Installieren Sie die vorausgesetzten Pakete.
- Installation von nginx mit ngx_pagespeed.
- Testen.
Installieren Sie die Build-Abhängigkeiten
sudo apt-get install dpkg-dev build-essential zlib1g-dev libpcre3 libpcre3-dev unzip
Installation von nginx mit ngx_pagespeed
Schritt 1 – nginx-Repository hinzufügen
Erstellen Sie eine neue Repository-Datei /etc/apt/sources.list.d/nginx.list mit vim.
vim /etc/apt/sources.list.d/nginx.list
Dort fügen Sie die Zeilen hinzu:
deb http://nginx.org/packages/ubuntu/ xenial nginx deb-src http://nginx.org/packages/ubuntu/ xenial nginx
Speichern Sie die Datei und beenden Sie den Editor.
Fügen Sie den Schlüssel hinzu und aktualisieren Sie das Repository:
sudo sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ABF5BD827BD9BF62
sudo apt-get update
Schritt 2 – Laden Sie nginx 1.10 aus dem Ubuntu-Repository herunter
Erstellen Sie ein neues Verzeichnis für die Nginx-Quelldateien und laden Sie die Nginx-Quellen mit apt herunter:
cd ~
mkdir -p ~/new/nginx_source/
cd ~/new/nginx_source/
apt-get source nginx
Manchmal tritt ein Fehler auf: 'Pakete können nicht authentifiziert werden'.
Sie können es lösen, indem Sie den folgenden Befehl eingeben:
rm -rf /var/lib/apt/lists/
apt-get update
Installieren Sie als Nächstes alle Abhängigkeiten, um das nginx-Paket zu erstellen.
apt-get build-dep nginx
Schritt 3 – Pagespeed herunterladen
Erstellen Sie ein neues Verzeichnis für PageSpeed und laden Sie die PageSpeed-Quelle herunter.
In diesem Tutorial verwenden wir Pagespeed 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
Schritt 4 – Konfigurieren Sie nginx für die Erstellung mit Pagespeed
Gehen Sie in das Verzeichnis „nginx_source“ und bearbeiten Sie die Datei „rules“ mit vim.
cd ~/new/nginx_source/nginx-1.10.1/debian/
vim rules
Fügen Sie die neue Zeile unter „COMMON_CONFIGURE_ARGS“ hinzu:
--add-module=../../ngx_pagespeed/ngx_pagespeed-release-1.11.33.3-beta \
Speichern und beenden.
Schritt 5 – Erstellen Sie das nginx Ubuntu-Paket und installieren Sie es
Gehen Sie zum nginx-Quellverzeichnis und erstellen Sie Nginx aus der Quelle mit dem dpkg-buildpackage-Befehl:
cd ~/new/nginx_source/nginx-1.10.1/
dpkg-buildpackage -b
Das nginx-Ubuntu-Paket wird unter ~/new/ngix_source/ gespeichert. Sobald die Paketerstellung abgeschlossen ist, schauen Sie bitte in das Verzeichnis:
cd ~/new/ngix_source/
ls
Und installieren Sie nginx und module deb mit dem dpkg-Befehl.
dpkg -i *.deb
Testen
Schritt 1 – Testen mit dem Nginx-Befehl
Führen Sie nginx -V aus, um zu überprüfen, ob das Modul ngx_pagespeed in nginx integriert wurde.
nginx -V
Schritt 2 – Testen mit dem Curl-Befehl
Wechseln Sie in das Nginx-Konfigurationsverzeichnis.
cd /etc/nginx/conf.d/
und bearbeiten Sie die Konfigurationsdatei des virtuellen Hosts.
vim default.conf
Fügen Sie die Konfiguration unten ein, um ngx_pagespeed zu aktivieren.
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$" { }
Speichern und beenden.
Testen Sie als Nächstes die nginx-Konfigurationsdatei und stellen Sie sicher, dass kein Fehler vorliegt:
nginx -t
Starten Sie nginx neu:
systemctl restart nginx
Greifen Sie schließlich mit dem curl-Befehl auf den nginx-Webserver zu:
curl -I 192.168.1.6
Schlussfolgerung
Der nginx-Webserver ist ein stabiler und schneller Open-Source-http-Server, der eine Vielzahl von Modulen zur Optimierung der Inhaltsbereitstellung unterstützt. Eines dieser Module ist das von Google entwickelte „PageSpeed-Modul“. Im Gegensatz zu Apache sind nginx-Module nicht dynamisch ladbar, daher müssen Sie die gewünschten Module auswählen, wenn Sie das nginx-Paket erstellen.