In unserem letzten Artikel haben wir gezeigt, wie man schneller wird Nginx-Leistung mit Ngx_Pagespeed auf CentOS 7. In diesem Tutorial erklären wir, wie Sie Nginx mit ngx_pagespeed auf Debian- und Ubuntu-Systemen installieren, um die Leistung von Nginx-Websites zu verbessern.
Nginx [engine x] ist ein kostenloser und quelloffener, beliebter HTTP-Server, der viele Websites im Web unterstützt: bekannt für seine hohe Leistung und Stabilität. Es funktioniert auch als Reverse-Proxy, generischer Mail- und TCP/UDP-Proxy-Server und kann zusätzlich als Load Balancer eingesetzt werden.
Ngx_pagespeed ist ein kostenloses und quelloffenes Nginx-Modul, das die Geschwindigkeit von Websites verbessern und die Seitenladezeit verkürzen soll; Es verkürzt die Zeit, die Benutzer zum Anzeigen und Interagieren mit Inhalten auf Ihrer Website benötigen, drastisch.
1. Installieren Nginx mit ngx_pagespeed aus der Quelle erforderlich, die folgenden Pakete auf dem System installiert werden.
$ sudo apt-get install build-essential zlib1g-dev libpcre3 libpcre3-dev unzip.
2. Laden Sie als Nächstes die Quelldateien der neuesten Version von Nginx herunter (1.13.2 zum Zeitpunkt des Schreibens) unter Verwendung der wget-Befehl und entpacken Sie die Dateien wie unten gezeigt.
$ mkdir -p ~/make_nginx. $ cd ~/make_nginx. $ wget -c https://nginx.org/download/nginx-1.13.2.tar.gz. $ tar -xzvf nginx-1.13.2.tar.gz.
3. Als nächstes erhalten Sie die ngx_pagespeed Quelldateien und entpacken Sie die komprimierte Datei wie folgt.
$ wget -c https://github.com/pagespeed/ngx_pagespeed/archive/v1.12.34.2-stable.zip. $ entpacken v1.12.34.2-stable.zip.
4. Dann in das entpackte ngx_pagespeed Verzeichnis und laden Sie die PageSpeed-Optimierungsbibliotheken herunter, um Nginx wie folgt zu kompilieren.
$ cd ngx_pagespeed-1.12.34.2-stabil/ $ wget -c https://dl.google.com/dl/page-speed/psol/1.12.34.2-x64.tar.gz. $ tar -xvzf 1.12.34.2-x64.tar.gz.
5. Nächster Umzug in die nginx-1.13.2 Verzeichnis und konfigurieren Sie die Nginx-Quelle mit den folgenden Befehlen.
$ cd ~/make_nginx/nginx-1.13.2. $ ./configure --add-module=$HOME/make_nginx/ngx_pagespeed-1.12.34.2-stable/ ${PS_NGX_EXTRA_FLAGS}
6. Als nächstes kompilieren und installieren Sie Nginx wie folgt.
$ machen. $ sudo make install.
7. Führen Sie nach Abschluss des Installationsvorgangs die folgenden Befehle aus, um die erforderlichen Symlinks für Nginx zu erstellen.
$ sudo ln -s /usr/local/nginx/conf/ /etc/nginx. $ sudo ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx.
8. Hier müssen Sie die Nginx-Unit-Datei manuell erstellen, da systemd das Init-System auf neueren Versionen von Debian- und Ubuntu-System ist
Erstellen Sie zuerst die Datei /lib/systemd/system/nginx.service.
$ sudo vi /lib/systemd/system/nginx.service.
Dann lade die. herunter NGINX systemd-Dienstdatei Fügen Sie die Gerätedateikonfiguration in die Datei ein.
[Einheit] Description=Der NGINX HTTP- und Reverse-Proxy-Server. After=syslog.target network.target remote-fs.target nss-lookup.target [Dienst] Typ = Gabelung. PIDFile=/var/run/nginx.pid. ExecStartPre=/usr/sbin/nginx -t. ExecStart=/usr/sbin/nginx. ExecReload=/bin/kill -s HUP $MAINPID. ExecStop=/bin/kill -s QUIT $MAINPID. PrivateTmp=true [Installieren] WantedBy=multi-user.target.
Speichern Sie die Datei und schließen Sie sie.
9. Starte jetzt nginx Dienst vorerst, und aktivieren Sie ihn zum Starten beim Systemstart, indem Sie die folgenden Befehle verwenden.
$ sudo systemctl starte nginx. $ sudo systemctl nginx aktivieren.
Wichtig: Nach dem Starten des Nginx-Dienstes wird möglicherweise ein Fehler angezeigt, wie im folgenden Screenshot gezeigt.
systemd[1]: nginx.service: PID-Datei /run/nginx.pid (noch?) nicht lesbar nach Start: Keine solche Datei oder kein solches Verzeichnis
Um es zu lösen, öffnen Sie die Nginx-Konfiguration /etc/nginx/nginx.conf Datei und fügen Sie die folgende Zeile an.
#pid logs/nginx.pid; zu. pid /run/nginx.pid;
Starten Sie abschließend den nginx-Dienst erneut.
$ sudo systemctl daemon-reload. $ sudo systemctl starte nginx. $ sudo systemctl status nginx.
10. Nachdem Nginx nun auf Ihrem System installiert ist und ausgeführt wird, müssen Sie das Ngx_pagespeed-Modul aktivieren. Erstellen Sie zunächst ein Verzeichnis, in dem das Modul die Dateien für Ihre Website zwischenspeichert, und legen Sie die entsprechenden Berechtigungen für dieses Verzeichnis wie folgt fest.
$ sudo mkdir -p /var/ngx_pagespeed_cache. $ sudo chown -R niemand: nogroup /var/ngx_pagespeed_cache.
11. Um das Ngx_pagespeed-Modul zu aktivieren, öffnen Sie die Nginx-Konfigurationsdatei.
$ sudo vi /etc/nginx/nginx.conf.
Fügen Sie die folgenden Ngx_pagespeed-Konfigurationszeilen innerhalb des Serverblocks hinzu.
# Pagespeed-Haupteinstellungen pagespeed on; pagespeed FileCachePath /var/ngx_pagespeed_cache; # Stellen Sie sicher, dass Anfragen für Pagespeed-optimierte Ressourcen an Pagespeed gehen. #-Handler und es werden keine überflüssigen Header gesetzt. Speicherort ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" { add_header "" ""; } Standort ~ "^/ngx_pagespeed_static/" { } Standort ~ "^/ngx_pagespeed_beacon" { }
Notiz: Wenn Sie welche bereitgestellt haben virtuelle nginx-Hosts auf dem Server, fügen Sie die obigen pagespeed-Anweisungen zu jedem Serverblock hinzu, um Ngx_pagespeed auf jeder Site zu aktivieren.
Das Folgende ist ein funktionierendes Beispiel für die Nginx-Konfigurationsdatei mit Ngx_pagespeed im standardmäßigen virtuellen Host aktiviert.
Nginx-Konfiguration mit Ngx_pagespeed
#Benutzer niemand; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log Hinweis; #error_log logs/error.log info; pid /run/nginx.pid;Ereignisse {worker_connections 1024; } http { mime.types einschließen; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile an; #tcp_nopush an; #keepalive_timeout 0; keepalive_timeout 65; #gzip an; Server { hören 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main;# Pagespeed-Haupteinstellungen pagespeed on; pagespeed FileCachePath /var/ngx_pagespeed_cache; # Stellen Sie sicher, dass Anforderungen für pagespeed-optimierte Ressourcen an den Pagespeed #-Handler gehen und keine überflüssigen Header gesetzt werden. Speicherort ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" { add_header "" ""; } Standort ~ "^/ngx_pagespeed_static/" { } Standort ~ "^/ngx_pagespeed_beacon" { }Standort / { root-html; index.html index.htm; } #fehler_seite 404 /404.html; # Server-Fehlerseiten auf die statische Seite umleiten /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root-html; } # die PHP-Skripte an Apache weitergeben, das auf 127.0.0.1:80 lauscht # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # übergeben Sie die PHP-Skripte an den FastCGI-Server, der auf 127.0.0.1:9000 lauscht # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # fastcgi_params einschließen; #} # den Zugriff auf .htaccess-Dateien verweigern, wenn das Dokumenten-Root von Apache # mit dem von nginx übereinstimmt # #location ~ /\.ht { # deny all; #} } # ein weiterer virtueller Host, der eine Mischung aus IP-, Namens- und Port-basierter Konfiguration verwendet # #server { # listen 8000; # höre einen Namen: 8080; # server_name irgendein name alias anderer.alias; # Standort / { # Stamm-HTML; # index.html index.htm; # } #} # HTTPS-Server # #server { # hören 443 ssl; # server_name localhost; # ssl_zertifikat cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache freigegeben: SSL: 1m; # ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_chiffren an; # Standort / { # Stamm-HTML; # index.html index.htm; # } #} }
Speichern und schließen Sie die Datei.
12. Überprüfen Sie dann, ob die Syntax der Nginx-Konfigurationsdatei fehlerfrei ist, indem Sie den folgenden Befehl ausführen. Wenn er korrekt ist, sehen Sie die folgende Ausgabe:
$ sudo nginx -t nginx: Die Syntax der Konfigurationsdatei /usr/local/nginx/conf/nginx.conf ist in Ordnung. nginx: Konfigurationsdatei /usr/local/nginx/conf/nginx.conf Test ist erfolgreich.
13. Starten Sie anschließend den Nginx-Server neu, um die letzten Änderungen zu übernehmen.
$ sudo systemctl nginx neu starten.
14. Testen Sie nun, ob Ngx-pagespeed jetzt in Verbindung mit Nginx funktioniert, indem Sie den folgenden cURL-Befehl verwenden.
$ curl -I -p http://localhost.
Wenn Sie den obigen Header nicht sehen, gehen Sie zurück zu Schritt 10 und gehen Sie aufmerksam die Anweisungen durch, um Ngx-pagespeed mit den folgenden Schritten zu aktivieren.
Ngx-pagespeed Github-Repository: https://github.com/pagespeed/ngx_pagespeed
Wenn Sie den Nginx-Webserver sichern möchten, empfehlen wir Ihnen, dieses nützliche Tutorial zu lesen: Der ultimative Leitfaden zum Sichern, Härten und Verbessern der Leistung von Nginx.
Das ist es! In diesem Tutorial haben wir erklärt, wie man Nginx mit ngx_pagespeed auf Debian und Ubuntu installiert. Wenn Sie Fragen haben, senden Sie uns bitte unser Kommentarformular unten.