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.

Das könnte dich auch interessieren …