GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren Sie Nginx mit Google PageSpeed ​​unter Ubuntu 20.04

Nginx ist ein kostenloser Open-Source-Webserver, der viele Websites im Internet betreibt. Es kann als Reverse-Proxy und Load Balancer verwendet werden. Es ist bekannt für seine hohe Leistung und Stabilität.

ngx_pagespeed ist ein Open-Source-Nginx-Modul, mit dem Sie die Leistung Ihrer Website optimieren können. Es wurde von Google entwickelt und reduziert die Seitenladezeit und beschleunigt die Antwortzeit der Website.

In diesem Tutorial zeigen wir Ihnen, wie Sie ngx_pagespeed als dynamisches Modul mit Nginx auf einem Ubuntu 20.04-Server kompilieren.

Voraussetzungen

  • Ein Server mit Ubuntu 20.04.
  • Ein gültiger Domänenname, auf den Ihre Server-IP verweist. In diesem Tutorial verwenden wir die Domain example.com.
  • Ein Root-Passwort wird auf dem Server konfiguriert.

Erste Schritte

Bevor Sie beginnen, müssen Sie Ihre Systempakete auf die neueste Version aktualisieren. Sie können sie aktualisieren, indem Sie den folgenden Befehl ausführen:

apt-get update -y

Sobald alle Pakete installiert sind, müssen Sie einige erforderliche Abhängigkeiten auf Ihrem System installieren. Sie können alle mit dem folgenden Befehl installieren:

apt-get install dpkg-dev build-essential zlib1g-dev libpcre3 git libpcre3-dev unzip -y

Sobald alle Pakete installiert sind, können Sie mit dem nächsten Schritt fortfahren.

Nginx-Webserver installieren

Als nächstes müssen Sie den Nginx-Webserver auf Ihrem System installieren. Sie können es mit dem folgenden Befehl installieren:

apt-get install nginx -y

Sobald die Installation abgeschlossen ist, können Sie die installierte Version von Nginx mit dem folgenden Befehl überprüfen:

nginx -v

Sie sollten die Nginx-Version in der folgenden Ausgabe sehen:

nginx-Version:nginx/1.18.0 (Ubuntu)

Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

ngx_pagespeed herunterladen und kompilieren

Vor dem Herunterladen und Kompilieren von ngx_pagespeed. Sie müssen die Nginx-Quelle in Ihr System herunterladen. Sie können das Nginx-Quellpaket mit dem folgenden Befehl herunterladen:

Hinweis:Stellen Sie sicher, dass die heruntergeladene Nginx-Version mit der installierten Nginx-Version übereinstimmt. Hier ist die installierte Version von Nginx 1.18.0. Sie müssen also die Nginx-Quelle der Version 1.18.0 von der Nginx-Website herunterladen.

wget http://nginx.org/download/nginx-1.18.0.tar.gz

Sobald der Download abgeschlossen ist, extrahieren Sie die heruntergeladene Datei mit dem folgenden Befehl:

tar -xvzf nginx-1.18.0.tar.gz

Laden Sie als Nächstes die ngx_pagespeed-Quelle mit dem folgenden Befehl aus dem Git-Repository herunter:

git-Klon https://github.com/apache/incubator-pagespeed-ngx.git

Sobald der Download abgeschlossen ist, ändern Sie das Verzeichnis in das heruntergeladene Verzeichnis und checken Sie die stabile Version mit dem folgenden Befehl aus:

cd incubator-pagespeed-ngx
git checkout Latest-Stable

Sie sollten die folgende Ausgabe erhalten:

Hinweis:Umschalten auf 'latest-stable'. Sie befinden sich im Zustand 'detached HEAD'. Sie können sich umsehen, experimentelle Änderungen vornehmen und sie committen, und Sie können alle Commits, die Sie in diesem Zustand vornehmen, verwerfen, ohne dass dies Auswirkungen auf Branches hat, indem Sie zurück zu einem Branch wechseln. Wenn Sie einen neuen Branch erstellen möchten, um von Ihnen erstellte Commits beizubehalten, können Sie dies tun ( jetzt oder später), indem Sie -c mit dem switch-Befehl verwenden. Beispiel:git switch -c Oder machen Sie diesen Vorgang rückgängig mit:git switch -Schalten Sie diesen Hinweis aus, indem Sie die Konfigurationsvariable "advice.detachedHead" auf "falseHEAD" setzen, ist jetzt bei 11ba8ea54. Aktualisieren Sie PSOL_BINARY_URL 

Suchen Sie in der obigen Ausgabe nach der Datei „PSOL_BINARY_URL“, um die PSOL-Download-URL anzuzeigen:

Katze PSOL_BINARY_URL

Sie sollten die folgende Ausgabe erhalten:

https://dl.google.com/dl/page-speed/psol/1.13.35.2-$BIT_SIZE_NAME.tar.gz

Führen Sie nun den folgenden Befehl aus, um PSOL über die obige URL herunterzuladen:

wget https://dl.google.com/dl/page-speed/psol/1.13.35.2-x64.tar.gz

Als nächstes extrahieren Sie die heruntergeladene Datei mit dem folgenden Befehl:

tar -xvzf 1.13.35.2-x64.tar.gz

Wechseln Sie als Nächstes in das Verzeichnis der Nginx-Quelle und installieren Sie alle erforderlichen Abhängigkeiten mit dem folgenden Befehl:

cd /root/nginx-1.18.0
apt-get build-dep nginx
apt-get install uuid-dev

Als nächstes kompilieren Sie das ngx_pagespeed-Modul mit dem folgenden Befehl:

./configure --with-compat --add-dynamic-module=/root/incubator-pagespeed-ngx

Sie sollten die folgende Ausgabe erhalten:

Konfigurationszusammenfassung + Verwendung der System-PCRE-Bibliothek + OpenSSL-Bibliothek wird nicht verwendet + Verwendung der System-zlib-Bibliothek nginx-Pfadpräfix:„/usr/local/nginx“ nginx-Binärdatei:„/usr/local/nginx/sbin/nginx“ nginx Modulpfad:„/usr/local/nginx/modules“ nginx-Konfigurationspräfix:„/usr/local/nginx/conf“ nginx-Konfigurationsdatei:„/usr/local/nginx/conf/nginx.conf“ nginx-PID-Datei:„ /usr/local/nginx/logs/nginx.pid“ nginx-Fehlerprotokolldatei:„/usr/local/nginx/logs/error.log“ nginx-HTTP-Zugriffsprotokolldatei:„/usr/local/nginx/logs/access. log“ temporäre nginx http-Client-Anfragetextdateien:„client_body_temp“ temporäre nginx http-Proxydateien:„proxy_temp“ temporäre nginx http fastcgi-Dateien:„fastcgi_temp“ temporäre nginx http-uwsgi-Dateien:„uwsgi_temp“ temporäre nginx http-scgi-Dateien:„scgi_temp“

Führen Sie als Nächstes den folgenden Befehl aus, um das Pagespeed-Modul zu erstellen:

Module erstellen

Kopieren Sie als Nächstes das generierte Modul in das Nginx-Modulverzeichnis:

cp objs/ngx_pagespeed.so /usr/share/nginx/modules/

An diesem Punkt wird das Modul ngx_pagespeed in Ihrem System kompiliert. Sie können jetzt mit dem nächsten Schritt fortfahren.

Konfiguriere Nginx für die Verwendung des ngx_pagespeed-Moduls

Als nächstes müssen Sie Nginx konfigurieren, um das Modul ngx_pagespeed zu verwenden. Bearbeiten Sie zunächst die Hauptkonfigurationsdatei von Nginx und definieren Sie den Modulpfad ngx_pagespeed:

nano /etc/nginx/nginx.conf

Fügen Sie am Anfang der Datei die folgende Zeile hinzu:

load_module modules/ngx_pagespeed.so;

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Erstellen Sie als Nächstes mit dem folgenden Befehl ein Verzeichnis für Pagespeed-Caches:

mkdir -p /var/ngx_pagespeed_cache

Legen Sie den richtigen Besitz mit dem folgenden Befehl fest:

chown -R www-data:www-data /var/ngx_pagespeed_cache

Bearbeiten Sie als Nächstes die Konfigurationsdatei des virtuellen Nginx-Standardhosts und fügen Sie die Pagespeed-Konfiguration hinzu:

nano /etc/nginx/sites-available/default

Alle Zeilen durch die folgenden Zeilen ersetzt:

server {listen 80; server_name example.com; root /var/www/html; index index.nginx-debian.html index.html index.htm; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; Ort / { Versuchsdateien $uri $uri/ =404; } Seitengeschwindigkeit an; Pagespeed FileCachePath "/var/ngx_pagespeed_cache/"; Seitengeschwindigkeit RewriteLevel OptimizeForBandwidth; location ~ ".pagespeed.([a-z].)?[a-z]{2}.[^.]{10}.[^.]+" { add_header "" ""; } location ~ "^/pagespeed_static/" { } location ~ "^/ngx_pagespeed_beacon$" { }pagespeed RewriteLevel CoreFilters; }

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Überprüfen Sie dann Nginx mit dem folgenden Befehl auf Syntaxfehler:

nginx -t

Sie sollten die folgende Ausgabe erhalten:

nginx:Die Syntax der Konfigurationsdatei /etc/nginx/nginx.conf ist oknginx:Der Test der Konfigurationsdatei /etc/nginx/nginx.conf ist erfolgreich

Starten Sie abschließend den Nginx-Dienst neu, um die Änderungen zu übernehmen:

systemctl startet nginx neu

Sie können den Status des Nginx-Dienstes auch mit dem folgenden Befehl überprüfen:

systemctl status nginx

Sie sollten die folgende Ausgabe erhalten:

? nginx.service – Ein Hochleistungs-Webserver und ein Reverse-Proxy-Server :32:23 UTC; vor 20s Dokumente:man:nginx(8) Prozess:363 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process an; (code=beendet, status=0/SUCCESS) Prozess:385 ExecStart=/usr/sbin/nginx -g daemon on; master_process an; (code=exited, status=0/SUCCESS) Main PID:386 (nginx) Tasks:3 (limit:2353) Memory:14.4M CGroup:/system.slice/nginx.service ??386 nginx:master process /usr/ sbin/nginx -g Daemon an; master_process an; 387 Nginx:Arbeitsprozess 1]:Gestartet Ein Hochleistungs-Webserver und ein Reverse-Proxy-Server.

Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Verifizieren Sie das ngx_pagespeed-Modul

An diesem Punkt ist Nginx mit ngx_pagespeed-Unterstützung konfiguriert. Jetzt ist es an der Zeit zu testen, ob es installiert ist oder nicht.

Um die Seitengeschwindigkeit zu testen, führen Sie den folgenden Befehl aus, indem Sie Ihren Domänennamen angeben:

curl -I -p http://example.com

Wenn alles in Ordnung ist, sollten Sie die folgende Ausgabe erhalten:

HTTP/1.1 200 OKServer:nginx/1.18.0 (Ubuntu)Content-Type:text/htmlConnection:keep-aliveVary:Accept-EncodingDate:Mi, 25 Nov 2020 11:58:56 GMTX-Page-Speed:1.13 .35.2-0Cache-Kontrolle:max-age=0, kein Cache

In der obigen Ausgabe X-Page-Speed:1.13.35.2-0 bedeutet, dass PageSpeed ​​aktiv ist und Ihre Website optimiert.

Schlussfolgerung

Herzliche Glückwünsche! Sie haben ngx_pagespeed erfolgreich mit Nginx auf dem Ubuntu 20.04-Server installiert. Ich hoffe, dass dieses Modul die Leistung Ihres Nginx-Webservers erhöht und die Website beschleunigt. Fühlen Sie sich frei, mich zu fragen, wenn Sie irgendwelche Fragen haben.


Ubuntu
  1. So installieren Sie WordPress mit Nginx unter Ubuntu 18.04

  2. So installieren Sie phpMyAdmin mit Nginx unter Ubuntu 18.04

  3. So installieren Sie MediaWiki mit Nginx unter Ubuntu 16.04

  4. So installieren Sie Grav CMS mit Nginx unter Ubuntu 16.04

  5. So installieren Sie SuiteCRM mit Nginx unter Ubuntu 16.04

So installieren Sie OSClass mit Nginx unter Ubuntu 20.04

So installieren Sie Nginx mit ModSecurity unter Ubuntu 15.04

So installieren Sie Nextcloud 13 auf Ubuntu 16.04 mit Nginx

So installieren Sie Nginx mit dem Google PageSpeed-Modul unter Ubuntu 20.04 LTS

So installieren Sie Bludit CMS mit NGINX unter Ubuntu 20.04

So installieren Sie das Talkyard-Forum mit Nginx unter Ubuntu 18.04