Einen Moment Gedanken, was passierte, als du zur aktuellen Seite gescrollt hast. Entweder hast du auf einen Link geklickt, den du via einem Newsletter erhalten hast, oder auf den Link auf der Startseite von Tecmint.com, und dann hierhergeleitet worden bist.
In wenigen Worten: Du (oder eigentlich dein Browser) sendest eine HTTP-Anfrage an den Webserver, der diese Website hostet, und der Server sendet eine HTTP-Antwort zurück.
So einfach es klingt, umfasst dieser Prozess noch viel mehr. Es musste eine Menge Verarbeitung serverseitig durchgeführt werden, um die schön formatierte Seite, die du siehst, mit allen Ressourcen darauf – statisch und dynamisch – bereitstellen zu können.
Ohne zu tief zu graben, kannst du dich vorstellen, dass der Web-Server, wenn er sofortig gleichzeitig viele solcher Anfragen beantworten muss (nehmen wir mal ein paar hundert), sich oder das gesamte System bald in die Knie ziehen kann.
Und dort kann Varnish, ein Hochleistungs-HTTP-Akcelerator und Reverse Proxy, helfen. In diesem Artikel erkläre ich, wie man Varnish als Frontend für Apache oder Nginx installiert und verwendet, um HTTP-Antworten schneller zu cachetten und keinen zusätzlichen Lasten auf den Web-Server zu plaßen.
Allerdings, da Varnish normalerweise seinen Cache im Arbeitsspeicher anstatt auf der Platte speichert, müssen wir uns vorsichtig behandeln und den RAM-Speicher für die Cachingbereich begrenzen. Wir werden in einem Moment erörtern, wie das gehen kann.
Inhaltsverzeichnis
Wie Varnish funktioniert

Installation des Varnish-Caches auf einem Linux-Server
Dieser Beitrag setzt voraus, dass Sie einen LAMP– oder LEMP-Server installiert haben. Wenn nicht, installieren Sie bitte einen dieser Stacks, bevor Sie fortfahren.
- Wie man den LAMP-Server auf RHEL-basierten Distributionen installiert
- Wie man den LAMP-Server auf Ubuntu installiert
- Wie man den LAMP-Server auf Debian installiert
- Wie man den LEMP-Server auf RHEL-basierten Distributionen installiert
- Wie man den LEMP-Server auf Ubuntu installiert
- Wie man den LEMP-Server auf Debian installiert
Die offizielle Dokumentation empfiehlt, Varnish aus dem eigenen Repository des Entwicklers zu installieren, da sie immer die neueste Version bereitstellen. Sie können auch wählen, das Paket aus den offiziellen Repositories Ihrer Distribution zu installieren, obwohl es möglicherweise etwas veraltet ist.
Auch, bitte beachten Sie, dass die Repositories des Projekts nur Unterstützung für 64-Bit-Systeme bieten, während für 32-Bit-Maschinen Sie sich auf die offiziell gepflegten Repositories Ihrer Distribution verlassen müssen.
In diesem Artikel werden wir Varnish aus den von jeder Distribution offiziell unterstützten Repositories installieren. Der Hauptgrund für diese Entscheidung ist die Bereitstellung einer einheitlichen Installationsmethode und die Gewährleistung der automatischen Abhängigkeitsauflösung für alle Architekturen.
Varnish in Debian-basierten Linux installieren
Auf Debian-basierten Distributionen können Sie Varnish mit dem apt-Befehl wie gezeigt installieren.
# apt update # apt install varnish

Varnish in RHEL-basierten Linux installieren
Auf RHEL-basierten Distributionen wie CentOS, Rocky und AlmaLinux müssen Sie den EPEL-Repository aktivieren bevor Sie Varnish mit dem yum-Befehl installieren, wie gezeigt.
# yum install epel-release # yum update # yum install varnish

Wenn die Installation erfolgreich abgeschlossen ist, haben Sie je nach Ihrer Distribution eine der folgenden varnish-Versionen:
# varnishd -V varnishd (varnish-6.5.1 revision 1dae23376bb5ea7a6b8e9e4b9ed95cdc9469fb64)
Schließlich müssen Sie Varnish manuell starten, wenn der Installationsprozess dies nicht für Sie übernommen hat, und es so konfigurieren, dass es beim Hochfahren startet.
# systemctl start varnish # systemctl enable varnish # systemctl status varnish

Standardmäßig wird der Port 6081 vom Varnish-Dienst verwendet, und Sie können dies bestätigen, indem Sie den folgenden netstat-Befehl ausführen.
# netstat -tunlp | grep 6081

Konfigurieren von Varnish Cache in Linux
Wie wir bereits erwähnt haben, steht Varnish zwischen externen Clients und dem Webserver. Aus diesem Grund und um die Zwischenspeicherung für Endbenutzer transparent zu gestalten, müssen wir:
- Ändern Sie den Standardport 6081, auf den Varnish lauscht, in 80.
- Ändern Sie den Standardport, auf den der Webserver lauscht, in 8080 anstelle des Standardports 80.
- Weiterleiten des eingehenden Datenverkehrs von Varnish an den Webserver. Glücklicherweise erledigt Varnish dies automatisch, nachdem wir die 1) und 2) Schritte ausgeführt haben.
Port von Varnish ändern
Der varnishd Prozess wird von systemd gesteuert und verfügt über eine Einheitendatei unter /usr/lib/systemd/system/varnish.service, die die Standardkonfiguration von Varnish zur Laufzeit enthält.
Hier müssen wir den Standardvarnish-Port von 6081 in den Port 80 ändern und die Größe des Caches auf 1GB, wie durch Ausführen des folgenden Befehls gezeigt, der die Einheitendatei im Editor öffnet, wie gezeigt.
Hinweis: Sie können die Menge des verwendeten Speichers entsprechend Ihren Hardwareressourcen ändern oder alternativ dazu wählen, gespeicherte Dateien auf die Festplatte zu sichern.
$ sudo systemctl edit --full varnish OR # systemctl edit --full varnish

Nachdem Sie Änderungen an der /etc/systemd/system/varnish.service Datei vorgenommen haben, müssen Sie den Systemd Daemon mit dem folgenden Befehl neu laden:
# systemctl daemon-reload
Port von Apache oder Nginx ändern
Nachdem Sie den Varnish-Port geändert haben, müssen Sie nun den Standardport 80 Ihres Apache oder Nginx Webservers in den am häufigsten verwendeten Netzwerkport ändern, also 8080.
---------- On Debian-based Systems ---------- # nano /etc/apache2/ports.conf [On Apache] # /etc/nginx/sites-enabled/default [On Nginx] ---------- On RHEL-based Systems ---------- # vi /etc/httpd/conf/httpd.conf [On Apache] # vi /etc/nginx/nginx.conf [On Nginx]

Sobald Sie die Änderungen vorgenommen haben, vergessen Sie nicht, Varnish und den Webserver neu zu starten.
# systemctl restart varnish ---------- On Debian-based Systems ---------- # systemctl restart apache2 # systemctl restart nginx ---------- On RHEL-based Systems ---------- # systemctl restart httpd # systemctl restart nginx
Testen der Varnish-Cache in Linux
Der erste Test besteht darin, eine HTTP-Anfrage über den curl-Befehl zu senden und zu überprüfen, ob sie von Varnish bearbeitet wird:
# curl -I http://localhost

Varnish enthält auch zwei praktische Tools:
- Zeigt die Varnish-Protokolle in Echtzeit an, intuitiv genannt varnishlog.
- Zeigt die Varnish-Cache-Statistiken an, genannt varnishstat.
Beim zweiten Test werden im folgenden Screencast sowohl die Protokolle als auch die Statistiken auf einem CentOS-Server (dev1, oberer Bildschirmteil) und auf einem Debian-Server (dev2, unterer Bildschirmteil) angezeigt, während HTTP-Anfragen gesendet und Antworten empfangen werden.
Test der Webserver-Leistungsbenchmark
Unser dritter und letzter Test besteht darin, sowohl den Webserver als auch Varnish mit dem ab-Benchmarking-Tool zu messen und die Antwortzeiten und den CPU-Aufwand in beiden Fällen zu vergleichen.
In diesem speziellen Beispiel verwenden wir den CentOS Server, aber Sie können jede Distribution verwenden und ähnliche Ergebnisse erzielen. Beobachten Sie die Lastdurchschnitt oben und die Zeile „Anfragen pro Sekunde“ im Ausgabeprotokoll von ab.
Mit ab werden wir 50 (-c 50) gleichzeitige Anfragen gleichzeitig senden und den Test 1000000 Mal wiederholen (angegeben durch -n 1000000). Varnish wird eine höhere Anzahl von Anfragen pro Sekunde und einen viel geringeren Lastdurchschnitt zurückgeben.
Wichtig: Denken Sie daran, dass Varnish auf Port 80 (dem Standard-HTTP-Port) lauscht, während Apache auf Port 8080 lauscht. Sie können auch die Zeit notieren, die für die Durchführung jedes Tests benötigt wird.
# ab -c 50 -n 100000 http://localhost/index.html
Schlussfolgerung
In diesem Artikel haben wir besprochen, wie man einen Varnish-Cache vor einen Webserver, Apache oder Nginx, setzt. Beachten Sie, dass wir nicht tief in die default.vcl-Konfigurationsdatei eingedrungen sind, die es uns ermöglicht, die Zwischenspeicherungsrichtlinie weiter zu konfigurieren.
Sie möchten jetzt vielleicht auf die offizielle Dokumentation zur weiteren Konfigurationsbeispiele verweisen oder einen Kommentar mit dem Formular unten hinterlassen.
Source:
https://www.tecmint.com/install-varnish-cache-server/