Wie man nginx und google PageSpeed auf Ubuntu 16.04 installiert
Nginx (engine-x) ist ein Open Source und leistungsstarker HTTP-Server, Reverse-Proxy und IMAP/POP3-Proxy-Server. Dieses Tutorial zeigt, wie man ein Nginx.deb-Paket für Ubuntu 16.04 aus einem Quellcode erstellt, in dem das Google PageSpeed-Modul integriert ist.
PageSpeed ist ein von Google entwickeltes Webserver-Modul, um die Reaktionszeit der Website zu beschleunigen, das zurückgegebene HTML zu optimieren und die Ladezeit der Seite zu verkürzen. ngx_pagespeed Funktionen umfassen:
- Bildoptimierung: Entfernen von Metadaten, dynamische Größenänderung, Rekompression.
- CSS & JavaScript Verkleinerung, Verkettung, Inline und Outline.
- Geringe Ressourceneinsparung.
- Verschieben des Ladevorgangs von Bildern und JavaScript.
- HTML-Rewriting.
- Verlängerung der Lebensdauer des Cache.
mehr unter 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 erforderlichen Pakete.
- Installation von nginx mit ngx_pagespeed.
- Test.
Installation der 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 – Hinzufügen des nginx-Repository
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 verlassen 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 gibt es einen Fehler: ‚Pakete können nicht authentifiziert werden‘.
Du kannst es lösen, indem du den Befehl unten eingibst:
rm -rf /var/lib/apt/lists/ apt-get update
Als nächstes installieren Sie alle Abhängigkeiten, um das nginx-Paket zu erstellen.
apt-get build-dep nginx
Schritt 3 – Herunterladen von Pagespeed
Erstellen Sie ein neues Verzeichnis für PageSpeed und laden Sie die PageSpeed-Quelle herunter.
In diesem Tutorial werden wir die Seitengeschwindigkeit 1.11.33 verwenden.
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 in das nginx-Quellverzeichnis und erstellen Sie nginx aus dem Quellcode mit dem Befehl dpkg-buildpackage:
cd ~/new/nginx_source/nginx-1.10.1/ dpkg-buildpackage -b
Das nginx Ubuntu-Paket wird gespeichert unter ~/new/ngix_source/. Sobald die Paketerstellung abgeschlossen ist, schauen Sie bitte in das Verzeichnis:
cd ~/new/ngix_source/ ls
Und installieren Sie nginx und modules deb mit dem Befehl dpkg.
dpkg -i *.deb
Prüfung
Schritt 1 – Testen mit dem Nginx-Befehl
Führen Sie nginx -V aus, um zu überprüfen, ob das Modul ngx_pagespeed in nginx eingebaut ist.
nginx -V
Schritt 2 – Testen mit dem Curl-Befehl
Gehen Sie zum nginx-Konfigurationsverzeichnis.
cd /etc/nginx/conf.d/
und bearbeiten Sie die Standard-Konfigurationsdatei für virtuelle Hosts.
vim default.conf
Füge die untenstehende Konfiguration 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.
Als nächstes testen Sie 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 Befehl curl auf den nginx-Webserver zu:
curl -I 192.168.1.6
Fazit
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’PageSpeed-Modul‘, das von Google entwickelt wurde. Im Gegensatz zu Apache sind nginx-Module nicht dynamisch ladbar, daher müssen Sie beim Erstellen des nginx-Pakets die gewünschten Module auswählen.