So installieren Sie Varnish Cache 5.2 für Nginx unter CentOS 7
Varnish Cache (auch als Varnish bezeichnet) ist ein Open-Source-HTTP-Beschleuniger mit hoher Leistung, der zur Beschleunigung von Webservern entwickelt wurde. In unseren letzten Artikeln haben wir erklärt, wie Sie Varnish Cache für Apache unter CentOS 7 und CentOS 8 einrichten.
In diesem Artikel zeigen wir Ihnen, wie Sie Varnish Cache als Frontend für den Nginx HTTP-Server in CentOS 7 installieren und verwenden. Diese Anleitung sollte auch unter RHEL 7 funktionieren.
Anforderungen
- Ein CentOS 7 mit installiertem Apache
- Ein CentOS 7 mit einer statischen IP-Adresse
Schritt 1: Installieren Sie den Nginx-Webserver unter CentOS 7
1. Beginnen Sie mit der Installation des Nginx-HTTP-Servers aus den standardmäßigen CentOS-Software-Repositories mit dem YUM-Paketmanager wie folgt.
# yum install nginx
2. Wenn die Installation abgeschlossen ist, starten Sie den Nginx-Dienst vorerst und aktivieren Sie ihn so, dass er beim Systemstart automatisch gestartet wird.
# systemctl start nginx
systemctl enable nginx
systemctl status nginx
3. Ändern Sie nun die Regeln der System-Firewall, um eingehende Pakete auf Port 80 mit den folgenden Befehlen zuzulassen.
# firewall-cmd --zone=public --permanent --add-port=80/tcp
firewall-cmd --reload
firewall-cmd --zone=public --permanent --add-port=8080/tcp
firewall-cmd --reloadSchritt 2: Installieren Sie Varnish Cache unter CentOS 7
4. Jetzt gibt es vorkompilierte RPM-Pakete für die neueste Version von Varnish Cache 6 (d.h. 6.5 zum Zeitpunkt des Schreibens), daher müssen Sie das offizielle Varnish Cache-Repository hinzufügen.
Zuvor müssen Sie das EPEL-Repository aktivieren, um mehrere Abhängigkeitspakete zu installieren, wie gezeigt.
# yum install -y epel-release
5. Als nächstes installieren Sie pygpgme, ein Paket zum Umgang mit GPG-Signaturen und yum-utils, eine Sammlung nützlicher Dienstprogramme, die die nativen Funktionen von yum auf verschiedene Weise erweitern.
# yum install pygpgme yum-utils
6. Erstellen Sie nun eine Datei mit dem Namen /etc/yum.repos.d/varnishcache_varnish5.repo, die die untenstehende Repository-Konfiguration enthält.
# vi /etc/yum.repos.d/varnishcache_varnish65.repo
Wichtig: Stellen Sie sicher, dass Sie el und 7 in der Konfiguration unten durch Ihre Linux-Distribution und -Version ersetzen:
[varnishcache_varnish65]
name=varnishcache_varnish65
baseurl=https://packagecloud.io/varnishcache/varnish65/el/7/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/varnishcache/varnish65/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
[varnishcache_varnish65-source]
name=varnishcache_varnish65-source
baseurl=https://packagecloud.io/varnishcache/varnish65/el/7/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/varnishcache/varnish65/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
7. Führen Sie nun den folgenden Befehl aus, um Ihren lokalen yum-Cache zu aktualisieren und das varnish-Cache-Paket zu installieren (vergessen Sie nicht, den GPG-Schlüssel zu akzeptieren, indem Sie y oder yes eingeben, während Sie das Paket installieren):
# yum -q makecache -y --disablerepo='*' --enablerepo='varnishcache_varnish65'
yum install varnish
8. Nach der Installation von Varnish Cache wird die ausführbare Hauptdatei als /usr/sbin/varnishd installiert und die Varnish-Konfigurationsdateien befinden sich in /etc/varnish/:
- /etc/varnish/default.vcl – Dies ist die Hauptkonfigurationsdatei von Varnish, sie wurde mit der Vanish Configuration Language (VCL) geschrieben.
9. Starten Sie nun den Varnish-Dienst, aktivieren Sie den automatischen Start während des Systemstarts und überprüfen Sie seinen Status, um sicherzustellen, dass er wie folgt ausgeführt wird.
# systemctl start varnish
systemctl enable varnish
systemctl status varnish
10. Sie können bestätigen, dass die Varnish-Installation erfolgreich war, indem Sie den Speicherort der ausführbaren Varnish-Datei und die auf Ihrem System installierte Version anzeigen.
$ which varnishd
varnishd -V
Beispiel-Ausgabe
varnishd (varnish-6.5.1 revision 1dae23376bb5ea7a6b8e9e4b9ed95cdc9469fb64)
Copyright (c) 2006 Verdens Gang AS
Copyright (c) 2006-2020 Varnish Software
Schritt 3: Konfigurieren Sie Nginx für die Arbeit mit Varnish Cache
11. In diesem Schritt müssen Sie Nginx so konfigurieren, dass es mit Varnish Cache funktioniert. Standardmäßig lauscht Nginx auf Port 80, Sie sollten den Standard-Nginx-Port auf 8080 ändern, damit er hinter dem Varnish-Caching ausgeführt wird.
Öffnen Sie die Nginx-Konfigurationsdatei /etc/nginx/nginx.conf und suchen Sie die Zeile listen 80 und ändern Sie sie in listen 8080, wie im Serverblock im Screenshot unten gezeigt.
# vi /etc/nginx/nginx.conf
Hinweis: Dies sollte in allen Serverblock-Konfigurationsdateien (normalerweise unter /etc/nginx/conf.d/ erstellt) für Websites erfolgen, die Sie über Varnish bereitstellen möchten.
12. Öffnen Sie als Nächstes die Konfigurationsdatei des Varnish-Dienstes und suchen Sie den Parameter ExecStart, der den Port angibt, an dem Varnish lauscht, und ändern Sie seinen Wert von 6081 auf 80.
# systemctl edit --full varnish
Die Linie sollte wie abgebildet aussehen.
ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m
13. Richten Sie als Nächstes Nginx als Backend-Server für den Varnish-Proxy in der Konfigurationsdatei /etc/varnish/default.vcl ein.
# vi /etc/varnish/default.vcl
Suchen Sie den Backend-Abschnitt, und definieren Sie die Host-IP und den Port. Unten sehen Sie die Standard-Backend-Konfiguration, die Sie so einstellen, dass sie auf Ihren tatsächlichen Inhaltsserver verweist.
backend default {
.host = "127.0.0.1";
.port = "8080";
}
14. Nachdem Sie alle erforderlichen Konfigurationen vorgenommen haben, starten Sie Nginx HTTPD und Varnish Cache neu, um die oben genannten Änderungen vorzunehmen.
# systemctl daemon-reload
systemctl restart nginx
systemctl restart varnish
Schritt 4: Testen Sie den Varnish Cache auf Nginx
15. Testen Sie abschließend, ob der Varnish-Cache aktiviert ist und mit dem Nginx-Dienst arbeitet, indem Sie den folgenden cURL-Befehl verwenden, um den HTTP-Header anzuzeigen.
# curl -I http://localhost
Beispiel-Ausgabe
HTTP/1.1 200 OK
Server: nginx/1.16.1
Date: Wed, 06 Jan 2021 09:24:18 GMT
Content-Type: text/html
Content-Length: 4833
Last-Modified: Fri, 16 May 2014 15:12:48 GMT
ETag: "53762af0-12e1"
X-Varnish: 2
Age: 0
Via: 1.1 varnish (Varnish/6.5)
Accept-Ranges: bytes
Connection: keep-alive
Weitere Informationen finden Sie im Varnish Cache Github Repository: https://github.com/varnishcache/varnish-cache
In diesem Tutorial haben wir erklärt, wie Sie den Varnish Cache für den Nginx HTTP-Server unter CentOS 7 einrichten. Verwenden Sie das Kommentarformular unten, um uns Fragen oder zusätzliche Ideen zu senden.






