Varnish Cache ist ein kostenloser, quelloffener und leistungsstarker Webanwendungsbeschleuniger, der für dynamische Websites mit hoher Auslastung entwickelt wurde. Der Varnish Cache sitzt hinter dem Webserver und kann Ihre Website um den Faktor 300 bis 1000 beschleunigen. Es kann auch als Load Balancer verwendet werden, wenn Sie mehrere Server betreiben. Varnish Cache funktioniert, indem angeforderte Webseiten im Arbeitsspeicher zwischengespeichert werden und eine angeforderte Seite bereitgestellt wird, ohne dass Inhalte von Grund auf neu erstellt werden müssen, wenn dieselben Informationen mehrmals angefordert werden.
In diesem Tutorial zeigen wir Ihnen, wie Sie Varnish Cache als Proxy-Server für Nginx auf Ubuntu 18.04 VPS einrichten.
Voraussetzungen
- Ein frisches Ubuntu 18.04 VPS auf der Atlantic.Net Cloud Platform.
- Ein auf Ihrem Server eingerichtetes Root-Passwort.
Schritt 1 – Atlantic.Net Cloud-Server erstellen
Melden Sie sich zunächst bei Ihrem Atlantic.Net Cloud Server an. Erstellen Sie einen neuen Server und wählen Sie Ubuntu 18.04 als Betriebssystem mit mindestens 2 GB RAM. Stellen Sie über SSH eine Verbindung zu Ihrem Cloud-Server her und melden Sie sich mit den oben auf der Seite hervorgehobenen Anmeldeinformationen an.
Sobald Sie sich bei Ihrem Ubuntu 18.04-Server angemeldet haben, führen Sie den folgenden Befehl aus, um Ihr Basissystem mit den neuesten verfügbaren Paketen zu aktualisieren.
apt-get update -y
Schritt 2 – Varnish Cache installieren
apt-get install varnish -y
Nach erfolgreicher Installation wurde der Varnish-Cache-Dienst automatisch gestartet. Sie können den Status des Varnish-Dienstes mit dem folgenden Befehl überprüfen:
systemctl status varnish
Sie sollten die folgende Ausgabe erhalten:
Sie können die installierte Version von Varnish auch mit dem folgenden Befehl überprüfen:
varnishd -V
Sie sollten die folgende Ausgabe sehen:
netstat -ant
Sie sollten die folgende Ausgabe sehen:
Schritt 3 – Nginx installieren und konfigurieren
In diesem Abschnitt werden wir Nginx so installieren und konfigurieren, dass es hinter dem Varnish-Cache-Server sitzt. Standardmäßig läuft Nginx auf Port 80, also müssen Sie Nginx so konfigurieren, dass es auf Port 8088 lauscht.
Installieren Sie zuerst den Nginx-Webserver mit dem folgenden Befehl:
apt-get install nginx -y
Bearbeiten Sie nach der Installation des Nginx-Webservers die Konfigurationsdatei des virtuellen Nginx-Standardhosts:
nano /etc/nginx/sites-available/default
Ändern Sie den Standardport von 80 auf 8088, wie unten gezeigt:
server { listen 8088 default_server; listen [::]:8088 default_server; root /var/www/html; index index.html index.htm index.nginx-debian.html; server_name _; location / { try_files $uri $uri/ =404; } }
Hinweis:Stellen Sie sicher, dass Sie alle Standardeinträge in den Dateien gelöscht oder auskommentiert haben, stellen Sie sicher, dass nur der obige Inhalt gespeichert wird. Andernfalls wird der nginx-Dienst den Start verweigern
Speichern und schließen Sie die Datei, wenn Sie fertig sind. Starten Sie dann den Nginx-Dienst neu, um die Konfiguration zu übernehmen:
systemctl restart nginx
Schritt 4 – Varnish-Cache konfigurieren
Als Nächstes müssen Sie Varnish so konfigurieren, dass es Port 80 verwendet, damit es den Datenverkehr über den Varnish-Cache-Server an den Nginx-Webserver weiterleiten kann.
Sie können dies tun, indem Sie die Datei /lib/systemd/system/varnish.service:
bearbeitennano /lib/systemd/system/varnish.service
Ändern Sie den Varnish-Standardport von 6081 auf 80, wie unten gezeigt:
[Unit] Description=Varnish HTTP accelerator Documentation=https://www.varnish-cache.org/docs/4.1/ man:varnishd [Service] Type=simple LimitNOFILE=131072 LimitMEMLOCK=82000 ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m ExecReload=/usr/share/varnish/varnishreload ProtectSystem=full ProtectHome=true PrivateTmp=true PrivateDevices=true [Install] WantedBy=multi-user.target
Speichern und schließen Sie die Datei, wenn Sie fertig sind. Laden Sie dann den systemd-Daemon mit dem folgenden Befehl neu:
systemctl daemon-reload
Als nächstes müssen Sie Nginx als Backend-Server für Varnish konfigurieren. Sie können dies tun, indem Sie die Datei /etc/varnish/default.vcl:
bearbeitennano /etc/varnish/default.vcl
Ändern Sie den Port von 8080 auf 8088, wie unten gezeigt:
backend default { .host = "127.0.0.1"; .port = "8088"; }
Speichern und schließen Sie die Datei, wenn Sie fertig sind.
Hinweis :Ersetzen Sie 127.0.0.1 durch die IP-Adresse Ihres Nginx-Servers, wenn Ihr Nginx-Webserver auf dem anderen Host installiert ist.
Starten Sie schließlich den Varnish-Cache-Server mit dem folgenden Befehl neu:
systemctl restart varnish
Schritt 5 – Varnish-Cache-Server überprüfen
An diesem Punkt ist der Varnish-Cache so konfiguriert, dass er mit dem Nginx-Webserver funktioniert. Es ist Zeit, es zu testen.
Sie können den Varnish-Cache mit dem curl-Befehl wie unten gezeigt überprüfen:
curl -I your-server-ip
Sie sollten die folgende Ausgabe erhalten:
HTTP/1.1 200 OK Server: nginx/1.14.0 (Ubuntu) Date: Sun, 01 Dec 2019 06:46:18 GMT Content-Type: text/html Last-Modified: Sun, 01 Dec 2019 06:41:28 GMT ETag: W/"5de36098-264" Vary: Accept-Encoding X-Varnish: 32770 3 Age: 17 Via: 1.1 varnish (Varnish/5.2) Accept-Ranges: bytes Connection: keep-alive
Die obige Ausgabe zeigt deutlich, dass Sie den Nginx-Server mit Varnish Cache verwenden.
Sie können die Varnish-Caching-Statistiken auch mit dem folgenden Befehl überprüfen:
varnishstat
Sie sollten den folgenden Bildschirm sehen:
Mit dem folgenden Befehl können Sie auch die Rangfolge der Einträge im Varnish-Protokoll anzeigen:
varnishtop
Ausgabe:
Wenn Sie Probleme mit dem Varnish-Cache haben, können Sie das Varnish-Protokoll mit den folgenden Befehlen überprüfen:
tail -f varnishncsa.log
Schlussfolgerung
Herzliche Glückwünsche! Sie haben den Varnish Cache-Server mit Nginx auf Ubuntu 18.04 VPS erfolgreich installiert und konfiguriert. Sie können sich auf die Varnish-Dokumentation beziehen, um Ihre Konfiguration nach Ihren Bedürfnissen zu optimieren.