Wie man Varnish Cache unter Debian 11 installiert und verwendet
Varnish Cache ist ein leistungsstarker Open-Source-Cache und einer der beliebtesten HTTP-Beschleuniger, der von über 3,4 Millionen Websites genutzt wird. Er kann als Reverse-Caching-Proxy verwendet werden und wurde speziell für dynamische Websites mit hohem Traffic entwickelt. Er wird verwendet, um Inhalte vor dem Webserver zwischenzuspeichern. Er funktioniert, indem er Inhalte im Speicher zwischenspeichert. Wenn ein Nutzer eine zwischengespeicherte Seite anfordert, stellt Varnish die zwischengespeicherte Kopie bereit, anstatt die gleiche Seite immer wieder vom Backend-Server anzufordern. Viele VPS-Hosting-Anbieter nutzen Varnish als Teil ihres Technologie-Stacks, um die Leistung ihrer Websites zu verbessern.
Dieser Beitrag zeigt dir, wie du den Varnish Cache mit Apache unter Debian 11 installierst.
Voraussetzungen
- Ein Server, auf dem Debian 11 läuft.
- Ein Root-Passwort ist auf deinem Server eingerichtet.
Apache Webserver installieren und konfigurieren
Zuerst musst du den Apache-Webserver auf deinem Server installieren. Du kannst ihn installieren, indem du den folgenden Befehl ausführst:
apt install apache2 -y
Nachdem du den Apache Webserver installiert hast, musst du die Apache-Konfigurationsdatei bearbeiten und den Standardport in einen anderen ändern.
nano /etc/apache2/ports.conf
Suche die folgende Zeile:
Listen 80
Und ersetze sie durch die folgende Zeile:
Listen 8080
Speichere und schließe die Datei, wenn du fertig bist.
Als Nächstes musst du auch die Konfigurationsdatei des virtuellen Apache-Standardhosts bearbeiten und den Standardport ändern:
nano /etc/apache2/sites-available/000-default.conf
Suche die folgende Zeile:
<VirtualHost *:80>
Und ersetze sie durch die folgende Zeile:
<VirtualHost *:8080>
Speichere und schließe die Datei und starte den Apache-Dienst neu, um die Änderungen zu übernehmen:
systemctl restart apache2
Jetzt kannst du den Apache-Listening-Port mit dem folgenden Befehl überprüfen:
ss -antpl | grep apache2
Du solltest die folgende Ausgabe sehen:
LISTEN 0 511 *:8080 *:* users:(("apache2",pid=19315,fd=4),("apache2",pid=19314,fd=4),("apache2",pid=19313,fd=4),("apache2",pid=19312,fd=4),("apache2",pid=19311,fd=4),("apache2",pid=19310,fd=4))
Varnish Server installieren Debian 11
Standardmäßig ist die neueste Version des Varnish-Caches nicht im Standard-Repository von Debian verfügbar. Daher musst du das Varnish-Repository zur APT hinzufügen.
Installiere zunächst die erforderlichen Abhängigkeiten mit dem folgenden Befehl:
apt install debian-archive-keyring curl gnupg apt-transport-https -y
Als Nächstes fügst du den Varnish GPG-Schlüssel mit dem folgenden Befehl hinzu:
curl -fsSL https://packagecloud.io/varnishcache/varnish70/gpgkey | gpg --dearmor -o /etc/apt/trusted.gpg.d/varnish.gpg
Als Nächstes erstellst du eine Varnish-Quelldatei:
nano /etc/apt/sources.list.d/varnishcache_varnish70.list
Füge die folgende Zeile hinzu:
deb https://packagecloud.io/varnishcache/varnish70/debian/ bullseye main deb-src https://packagecloud.io/varnishcache/varnish70/debian/ bullseye main
Speichere und schließe die Datei und aktualisiere den Repository-Cache mit dem folgenden Befehl:
apt update -y
Als Nächstes installierst du den Varnish-Cache mit dem folgenden Befehl:
apt install varnish -y
Sobald der Varnish-Cache installiert ist, starte den Varnish-Server mit dem folgenden Befehl.
systemctl restart varnish
Du kannst die Varnish-Version auch mit dem folgenden Befehl überprüfen.
varnishd -V
Du erhältst die folgende Ausgabe.
varnishd (varnish-7.0.3 revision 6a4c6a5c7e66a664b140278c209f0b18c544cab8) Copyright (c) 2006 Verdens Gang AS Copyright (c) 2006-2022 Varnish Software
Varnish Server konfigurieren
Als nächstes musst du die Datei default.vcl bearbeiten und deinen Backend-Server definieren:
nano /etc/varnish/default.vcl
Ändere die folgenden Zeilen entsprechend deines Backend-Servers:
backend default { .host = "127.0.0.1"; .port = "8080"; }
Speichere und schließe die Datei, wenn du fertig bist.
Varnish für die Zusammenarbeit mit Apache konfigurieren
Als Nächstes musst du eine benutzerdefinierte Dienstkonfigurationsdatei für Varnish erstellen. Du kannst sie mit dem folgenden Befehl erstellen.
mkdir /etc/systemd/system/varnish.service.d nano /etc/systemd/system/varnish.service.d/customport.conf
Füge die folgenden Zeilen hinzu:
[Service] ExecStart= ExecStart=/usr/sbin/varnishd -a :80 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,256m
Speichere und schließe die Datei und lade den systemd-Daemon mit dem folgenden Befehl neu:
systemctl daemon-reload
Als Nächstes startest du den Varnish-Dienst mit dem folgenden Befehl neu:
systemctl restart varnish
Jetzt kannst du den Status des Varnish-Caches mit dem folgenden Befehl überprüfen:
systemctl status varnish
Du solltest die folgende Ausgabe erhalten:
? varnish.service - Varnish Cache, a high-performance HTTP accelerator Loaded: loaded (/lib/systemd/system/varnish.service; enabled; vendor preset: enabled) Drop-In: /etc/systemd/system/varnish.service.d ??customport.conf Active: active (running) since Fri 2022-12-30 05:31:51 UTC; 9s ago Process: 24637 ExecStart=/usr/sbin/varnishd -a :80 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,256m (> Main PID: 24638 (varnishd) Tasks: 217 Memory: 132.4M CPU: 535ms CGroup: /system.slice/varnish.service ??24638 /usr/sbin/varnishd -a :80 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,256m ??24652 /usr/sbin/varnishd -a :80 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,256m Dec 30 05:31:50 debian11 systemd[1]: Starting Varnish Cache, a high-performance HTTP accelerator... Dec 30 05:31:51 debian11 varnishd[24638]: Version: varnish-7.0.3 revision 6a4c6a5c7e66a664b140278c209f0b18c544cab8 Dec 30 05:31:51 debian11 varnishd[24638]: Platform: Linux,5.10.0-20-amd64,x86_64,-junix,-smalloc,-sdefault,-hcritbit Dec 30 05:31:51 debian11 varnishd[24638]: Child (24652) Started Dec 30 05:31:51 debian11 varnishd[24638]: Child (24652) said Child starts Dec 30 05:31:51 debian11 systemd[1]: Started Varnish Cache, a high-performance HTTP accelerator.
Zu diesem Zeitpunkt ist Varnish installiert und lauscht auf Port 80. Du kannst das mit dem folgenden Befehl überprüfen:
ss -antpl | grep :varnishd
Du erhältst die folgende Ausgabe:
LISTEN 0 1024 0.0.0.0:80 0.0.0.0:* users:(("cache-main",pid=24652,fd=3),("varnishd",pid=24638,fd=3)) LISTEN 0 1024 127.0.0.1:8443 0.0.0.0:* users:(("cache-main",pid=24652,fd=7),("varnishd",pid=24638,fd=7)) LISTEN 0 10 127.0.0.1:39231 0.0.0.0:* users:(("varnishd",pid=24638,fd=11)) LISTEN 0 10 [::1]:36395 [::]:* users:(("varnishd",pid=24638,fd=10)) LISTEN 0 1024 [::]:80 [::]:* users:(("cache-main",pid=24652,fd=5),("varnishd",pid=24638,fd=5)) LISTEN 0 1024 [::1]:8443 [::]:* users:(("cache-main",pid=24652,fd=6),("varnishd",pid=24638,fd=6))
Varnish-Cache überprüfen
Jetzt ist der Varnish-Cache installiert und läuft. Du kannst den Varnish-Cache jetzt mit dem CURL-Befehl überprüfen:
curl -I http://localhost/
Du erhältst den Varnish-Cache in der folgenden Ausgabe:
HTTP/1.1 200 OK Date: Fri, 30 Dec 2022 05:33:00 GMT Server: Apache/2.4.54 (Debian) Last-Modified: Fri, 30 Dec 2022 04:42:33 GMT Vary: Accept-Encoding Content-Type: text/html X-Varnish: 2 Age: 0 Via: 1.1 varnish (Varnish/7.0) ETag: W/"29cd-5f1043adffc4c-gzip" Accept-Ranges: bytes Connection: keep-alive
Fazit
Glückwunsch! Du hast Varnish Cache mit Apache unter Debian 11 erfolgreich installiert. Jetzt kannst du den Varnish-Cache als Front-End-Server nutzen, um die Ladezeit deiner Website zu beschleunigen. Wenn du Fragen hast, kannst du dich gerne an mich wenden.