Website-Suche

So installieren Sie Varnish Cache 5.2 für Nginx unter CentOS 7


Varnish Cache (auch als Varnish bezeichnet) ist ein Open-Source-Hochleistungs-HTTP-Beschleuniger zur Beschleunigung von Webservern. In unseren letzten Artikeln haben wir erklärt, wie man Varnish Cache für Apache unter CentOS 7 und CentOS 8 einrichtet.

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 auf RHEL 7 funktionieren.

Anforderungen

  1. Ein CentOS 7 mit installiertem Apache
  2. 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-Repositorys mithilfe des YUM-Paketmanagers wie folgt.

yum install nginx

2. Wenn die Installation abgeschlossen ist, starten Sie zunächst den Nginx-Dienst und aktivieren Sie ihn für den automatischen Start beim Systemstart.

systemctl start nginx
systemctl enable nginx
systemctl status nginx

3. Ändern Sie nun die Firewall-Regeln des Systems, um eingehende Pakete auf Port 80 zuzulassen, indem Sie die folgenden Befehle verwenden.

firewall-cmd --zone=public --permanent --add-port=80/tcp
firewall-cmd --reload
firewall-cmd --zone=public --permanent --add-port=8080/tcp
firewall-cmd --reload

Schritt 2: Installieren Sie Varnish Cache unter CentOS 7

4. Jetzt gibt es daher vorkompilierte RPM-Pakete für die neueste Version von Varnish Cache 6 (d. h. 6.5 zum Zeitpunkt des Schreibens). Sie müssen das offizielle Varnish Cache-Repository hinzufügen.

Zuvor müssen Sie das EPEL-Repository aktivieren, um wie gezeigt mehrere Abhängigkeitspakete zu installieren.

yum install -y epel-release

5. Als Nächstes installieren Sie pygpgme, ein Paket zur Handhabung von 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 unten stehende 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 Lack-Cache-Paket zu installieren (vergessen Sie nicht, den GPG-Schlüssel zu akzeptieren, indem Sie y oder yes eingeben während der Installation des Pakets):

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 Lackkonfigurationsdateien befinden sich in /etc/varnish/:

  • /etc/varnish/default.vcl – dies ist die Hauptkonfigurationsdatei für den Lack, sie wurde mit der Vanish-Konfigurationssprache (VCL) geschrieben.

9. Starten Sie nun den Lackdienst, aktivieren Sie ihn für den automatischen Start beim Systemstart 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 sehen.

which varnishd
varnishd -V
Beispielausgabe
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 für die Arbeit mit Varnish Cache konfigurieren. 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, suchen Sie die Zeile „listen“ 80 und ändern Sie sie in „listen“ 8080 wie auf dem Server Block, der im Screenshot unten gezeigt wird.

vi /etc/nginx/nginx.conf

Hinweis: Dies sollte in allen Serverblock-Konfigurationsdateien (normalerweise erstellt unter /etc/nginx/conf.d/) für Websites erfolgen, die Sie über bereitstellen möchten >Lack.

12. Öffnen Sie als Nächstes die Konfigurationsdatei des Lackdienstes und suchen Sie den Parameter ExecStart, der den Port angibt, auf dem Varnish lauscht, und ändern Sie seinen Wert von 6081 bis 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. Als Nächstes richten Sie 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 Abschnitt Backend und definieren Sie die Host-IP und den Port. Nachfolgend finden Sie die Standard-Backend-Konfiguration. Stellen Sie diese so ein, dass sie auf Ihren tatsächlichen Inhaltsserver verweist.

backend default {
    .host = "127.0.0.1";
    .port = "8080";
}

14. Nachdem Sie alle erforderlichen Konfigurationen durchgeführt haben, starten Sie Nginx HTTPD und Varnish-Cache neu, um die oben genannten Änderungen zu übernehmen.

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 funktioniert, indem Sie den cURL-Befehl unten verwenden, um den HTTP-Header anzuzeigen.

curl -I http://localhost
Beispielausgabe
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 man Varnish Cache für den Nginx-HTTP-Server unter CentOS 7 einrichtet. Verwenden Sie das Kommentarformular unten, um uns Fragen oder zusätzliche Ideen zu senden.