Website-Suche

Installieren Sie Varnish Cache 5.2, um die Apache-Leistung unter CentOS 7 zu steigern


Varnish Cache (allgemein bekannt als Varnish) ist ein beliebter Open-Source-Reverse-Proxy-HTTP-Beschleuniger zur Beschleunigung von Webservern. Es wurde für übermäßig ausgelastete API-Endpunkte und auch für dynamische Websites entwickelt, die umfangreiche Inhalte bereitstellen und hohen Datenverkehr aufweisen.

Es hilft im Grunde, die CPU-Last zu verringern. Unterstützt den Lastausgleich auf Webservern und ermöglicht es einem Webbrowser, Websites schnell zu laden, da der Cache im RAM gespeichert wird. Eine Reihe großer Unternehmen nutzen es, darunter Facebook, Twitter und Wikipedia, um nur einige zu nennen.

Anforderungen

  1. Ein CentOS 7 mit installiertem Apache
  2. Ein CentOS 7 mit einer statischen IP-Adresse

In diesem Artikel werde ich erklären, wie Sie Varnish Cache 6.5 als Frontend für einen Apache-Webserver in CentOS 7 installieren und verwenden (funktioniert auch unter RHEL 7).

Schritt 1: Installieren Sie den Apache-Webserver unter CentOS 7

1. Installieren Sie zunächst den Apache-HTTP-Server aus den standardmäßigen CentOS-Software-Repositories mit dem YUM-Paketmanager wie folgt.

# yum install httpd

2. Sobald Apache installiert ist, starten Sie es vorerst und aktivieren Sie es, dass es beim Systemstart automatisch startet.

# systemctl start httpd
systemctl enable httpd
systemctl status httpd

3. Aktualisieren Sie als Nächstes die Firewall-Regeln des Systems, um eingehende Pakete an Port 80 mit den folgenden Befehlen zuzulassen.

# firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --reload

Schritt 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_varnish65.repo, die die folgende 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 Apache für die Arbeit mit Varnish Cache

11. Konfigurieren Sie nun Apache so, dass es in Verbindung mit Varnish Cache funktioniert. Standardmäßig lauscht Apache auf Port 80, Sie müssen den Standard-HTTPD-Port auf 8080 ändern – dies stellt sicher, dass HTTPD hinter dem Varnish-Caching ausgeführt wird.

Sie können den Befehl sed verwenden, um Port 80 auf 8080 zu ändern, wie gezeigt.

# sed -i "s/Listen 80/Listen 8080/" /etc/httpd/conf/httpd.conf

Hinweis: Außerdem müssen Sie den Port in Ihrer virtuellen Hostkonfiguration für jede Website ändern, die Sie über Varnish bereitstellen möchten. Hier ist die Konfiguration für unsere Testseite (/etc/httpd/conf.d/tecmint.lan.conf).

<VirtualHost *:8080>
    DocumentRoot "/var/www/html/tecmint.lan/"
    ServerName www.tecmint.lan
    # Other directives here
</VirtualHost>

12. Öffnen Sie als Nächstes die Konfigurationsdatei varnish systemd und suchen Sie den Parameter ExecStart, der den Port angibt, auf dem Varnish lauscht, und ändern Sie seinen Wert von 6081 auf 80, wie im Screenshot gezeigt.

# systemctl edit --full  varnish

Die Konfiguration sollte nach Abschluss wie folgt aussehen.

ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m

13. Richten Sie als Nächstes Apache 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";
}

Wenn Ihr Backend-Server auf einem anderen Server mit der Adresse 10.42.1.10 ausgeführt wird, sollte der Host-Parameter auf diese IP-Adresse verweisen.

backend server1 {
    .host = "10.42.1.10";
    .port = "8080";
}

14. Nachdem Sie alle erforderlichen Konfigurationen vorgenommen haben, starten Sie HTTPD und Varnish Cache neu, um die oben genannten Änderungen vorzunehmen.

# systemctl daemon-reload
systemctl restart httpd
systemctl restart varnish

Schritt 4: Testen Sie Varnish Cache auf Apache

15. Testen Sie abschließend, ob Varnish aktiviert ist und mit dem HTTPD-Dienst arbeitet, indem Sie den folgenden cURL-Befehl verwenden, mit dem der HTTP-Header angezeigt werden kann.

# curl -I http://localhost
Beispiel-Ausgabe
HTTP/1.1 200 OK
Date: Wed, 06 Jan 2021 08:36:07 GMT
Server: Apache/2.4.6 (CentOS)
Last-Modified: Thu, 16 Oct 2014 13:20:58 GMT
ETag: "1321-5058a1e728280"
Accept-Ranges: bytes
Content-Length: 4897
Content-Type: text/html; charset=UTF-8
X-Varnish: 131085
Age: 0
Via: 1.1 varnish (Varnish/6.5)
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 6.5-Proxy für den Apache HTTP-Server unter CentOS 7 einrichten. Falls Sie Fragen oder zusätzliche Ideen haben, verwenden Sie das untenstehende Feedback-Formular, um uns zu schreiben.

Verwandte Artikel: