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 genutzte API-Endpunkte und auch für dynamische Websites entwickelt, die umfangreiche Inhalte bereitstellen und hohem Datenverkehr ausgesetzt sind.

Es hilft grundsätzlich, die CPU-Last zu reduzieren; Unterstützt den Lastausgleich auf Webservern und ermöglicht einem Webbrowser das schnelle Laden von Websites durch die Speicherung des Caches im RAM. 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 erkläre ich, wie man Varnish Cache 6.5 als Frontend für einen Apache-Webserver in CentOS 7 installiert und verwendet ( 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 Standard-CentOS-Software-Repositorys mit dem YUM-Paketmanager wie folgt.

yum install httpd

2. Sobald Apache installiert ist, starten Sie es zunächst und aktivieren Sie den automatischen Start beim Systemstart.

systemctl start httpd
systemctl enable httpd
systemctl status httpd

3. Aktualisieren Sie als Nächstes die Firewall-Regeln des Systems, um eingehende Pakete auf Port 80 zuzulassen, indem Sie die folgenden Befehle verwenden.

firewall-cmd --zone=public --permanent --add-service=http
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_varnish65.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 in 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 Apache für die Arbeit mit Varnish Cache

11. Konfigurieren Sie nun Apache für die Zusammenarbeit mit Varnish Cache. Standardmäßig lauscht Apache auf Port 80. Sie müssen den Standard-HTTPD-Port auf 8080 ändern – dadurch wird sichergestellt, dass HTTPD hinter dem Varnish-Caching ausgeführt wird.

Mit dem Befehl sed können Sie Port 80 wie gezeigt in 8080 ändern.

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 Systemd-Konfigurationsdatei für Lack 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 am Ende so aussehen.

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

13. Als Nächstes richten Sie 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 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";
}

Wenn Ihr Backend-Server auf einem anderen Server mit der Adresse 10.42.1.10 läuft, sollte der Host-Parameter auf diese IP-Adresse verweisen.

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

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

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 funktioniert, indem Sie den cURL-Befehl unten verwenden, der zum Anzeigen des HTTP-Headers verwendet werden kann.

curl -I http://localhost
Beispielausgabe
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 man den Varnish Cache 6.5-Proxy für den Apache HTTP-Server unter CentOS 7 einrichtet. Wenn Sie Fragen oder zusätzliche Ideen haben, können Sie uns über das unten stehende Feedback-Formular antworten .