GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren Sie Varnish Cache für Apache unter CentOS/RHEL 8

Lack-Cache ist ein kostenloser, moderner und leistungsstarker Open-Source-Beschleuniger für Webanwendungen. Es ist ein schneller Reverse-HTTP-Proxy, der Inhalte zwischenspeichert, um die Leistung Ihres Webservers zu beschleunigen, indem Webinhalte im Serverspeicher – in einem Cache – gespeichert werden. Es ist so konfiguriert, dass es vor einem Ursprungsserver wie Apache ausgeführt wird (HTTPD ) Webserver.

Wenn ein Client Inhalte anfordert, Varnish akzeptiert das HTTP Anfrage, sendet die Anfrage an den Ursprungsserver, speichert die zurückgegebenen Objekte im Cache und antwortet auf die Clientanfrage. Wenn der Client das nächste Mal denselben Inhalt anfordert, stellt Varnish ihn aus dem Cache bereit. Auf diese Weise werden die Antwortzeit und der Netzwerkbandbreitenverbrauch bei zukünftigen äquivalenten Anfragen reduziert.

Lack funktioniert auch als HTTP Request Router, Web Application Firewall, Load Balancer und mehr. Es wird mit der flexiblen Varnish Configuration Language konfiguriert (VCL ), das mit Lackmodulen erweiterbar ist (auch bekannt als VMODs ), unterstützt für Edge Side Includes (ESL ), Gzip-Komprimierung und -Dekomprimierung und vieles mehr.

In diesem Artikel erfahren Sie, wie Sie Apache HTTPD installieren Webserver und Varnish Cache 6 auf einem frischen CentOS/RHEL 8 Server, einschließlich der Konfiguration von Varnish zur Ausführung vor HTTPD Server.

Voraussetzungen:

  • Ein Server mit CentOS 8-Installation
  • Ein Server mit RHEL 8-Installation und aktiviertem Red Hat-Abonnement auf Ihrem System.

Schritt 1:Installieren von Apache Web Server auf CentOS/RHEL 8

1. Beginnen Sie damit, alle installierten Softwarepakete auf dem System wie folgt mit dem DNF-Befehl zu aktualisieren.

# dnf update

2. Führen Sie als Nächstes den folgenden Befehl aus, um Apache HTTP zu installieren Webserver aus dem AppStream Repository.

# dnf install httpd

3. Sobald die Installation abgeschlossen ist, starten Sie den httpd-Dienst, aktivieren Sie ihn so, dass er während des Systemstarts automatisch gestartet wird, und überprüfen Sie seinen Status, um zu bestätigen, dass er betriebsbereit ist, indem Sie den Befehl systemctl verwenden.

# systemctl start httpd
# systemctl enable httpd
# systemctl status httpd

Überprüfen Sie den Status des Apache-Webservers

4. Standardmäßig CentOS/RHEL 8 enthält eine vollständig gesperrte Firewall (führen Sie firewall-cmd –state aus bestätigen). Sie müssen den Zugriff auf den HTTP-Dienst in der Firewall öffnen, damit Benutzer auf Websites oder Anwendungen zugreifen können, die über HTTP ausgeführt werden , und laden Sie auch die Firewall-Einstellungen neu, um die neuen Änderungen zu übernehmen.

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

Schritt 2:Varnish Cache 6.4 auf CentOS/RHEL 8 installieren

5. Nachdem der Apache-Webserver nun ausgeführt wird, können Sie mit der Installation von Varnish Cache fortfahren auf dem System mit dem folgenden Befehl.

# dnf module install varnish

Varnish Cache unter CentOS 8 installieren

6. Nach erfolgreicher Installation können Sie die Version von Varnish überprüfen auf Ihrem System installiert.

# varnishd -V

Lackversion prüfen

7. Als nächstes wird die ausführbare Hauptdatei als /usr/sbin/varnishd installiert . Außerdem werden die Varnish-Konfigurationsdateien unter /etc/varnish gespeichert Verzeichnis, wobei:

  • /etc/varnish/default.vcl – ist die Hauptkonfigurationsdatei für den Lack, die mit VCL geschrieben wurde.
  • /etc/varnish/secret – ist die Lack-Geheimdatei.

8. Starten Sie jetzt den Lackdienst, aktivieren Sie ihn vorerst so, dass er während des Systemstarts im Falle eines Serverneustarts automatisch gestartet wird, und überprüfen Sie seinen Status, um sicherzustellen, dass er betriebsbereit ist, wie folgt.

# systemctl start varnish
# systemctl enable varnish
# systemctl status varnish

Varnish-Cache-Status überprüfen

Schritt 3:Konfigurieren von Apache für die Arbeit mit Varnish Cache

9. Jetzt ist es an der Zeit, Varnish Cache zu konfigurieren vor dem Apache-Dienst ausgeführt werden. Standardmäßig ist der Apache-Server so konfiguriert, dass er auf Port 80 lauscht , dies ist in der Hauptkonfigurationsdatei /etc/httpd/conf/httpd.conf definiert .

Öffnen Sie es zur Bearbeitung mit Ihrem bevorzugten Texteditor.

# vi /etc/httpd/conf/httpd.conf

Suchen Sie nach Listen Parameter. Um Varnish auszuführen vor dem Apache-Server sollten Sie den Standardport 80 ändern bis 8080 (oder einen anderen Port Ihrer Wahl), wie im folgenden Screenshot gezeigt.

Dieser Port wird später als Port des Backend-Servers in der Varnish-Konfigurationsdatei hinzugefügt.

Ändern Sie den Apache-Standardport

Außerdem die Konfiguration des virtuellen Hosts für jede Website/Anwendung, die über Varnish bereitgestellt wird sollte so konfiguriert werden, dass es den obigen Port abhört. 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>

Konfiguration des virtuellen Apache-Hosts

Wichtig :Um zu verhindern, dass die standardmäßige Testseite des Apache-HTTP-Servers verwendet wird, kommentieren Sie alle Zeilen in der Datei /etc/httpd/conf.d/welcome.conf aus oder löschen Sie einfach die Datei.

# rm /etc/httpd/conf.d/welcome.conf 

10. Testen Sie als Nächstes die httpd-Konfigurationssyntax auf Fehler. Wenn alles in Ordnung ist, starten Sie den httpd-Dienst neu, um die neuen Änderungen zu übernehmen.

# httpd -t
# systemctl restart httpd

Überprüfen Sie die Apache-Konfiguration

Varnish für Systemd konfigurieren

11. Um Varnish vor HTTPD bereitzustellen , müssen Sie es einfach so konfigurieren, dass es auf Client-Anfragen am Standard-HTTP-Port 80 lauscht wie unten erklärt.

Beachten Sie das in Varnish Cache 6.0 und höher müssen Sie den Port einstellen Der Lackserver lauscht in der Varnish-Dienstdatei für systemd . Öffnen Sie es zunächst zur Bearbeitung.

# systemctl edit --full  varnish

Suchen Sie nach ExecStart Zeile, dann ändern Sie den Wert von -a switch (der angibt, dass der Lack die Adresse und den Port abhört) von :6081 bis :80 wie im folgenden Screenshot angegeben.

Wichtig, wenn Sie keine Adresse angeben, varnishd lauscht auf allen verfügbaren IPv4 und IPv6 auf dem Server aktive Schnittstellen.

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

Varnish Listen Port ändern

Speichern Sie die Änderungen in der Datei und beenden Sie.

Varnish-Backend-Server mit VCL konfigurieren

12. Jetzt müssen Sie den Ursprungsserver konfigurieren, der in Varnish bekannt ist Terminologie als Backend . Es ist der Server, der HTTP versteht, mit dem Varnish kommuniziert, um Inhalte abzurufen – in diesem Fall httpd. Es wird in der Hauptkonfigurationsdatei /etc/varnish/default.vcl konfiguriert .

# vi /etc/varnish/default.vcl 

Es gibt ein Standard-Backend Konfigurationsabschnitt namens default . Sie können „Standard“ ändern ” an server1 (oder einen beliebigen Namen Ihrer Wahl, um Ihre Umgebungsstandards zu erfüllen). Standardmäßig der Host Parameter zeigt auf den localhost , unter der Annahme, dass der Backend-Server auf dem localhost läuft.

Stellen Sie dann den Port auf 8080 ein (der Port, den Sie in der Konfigurationsdatei des virtuellen Apache-Hosts definiert haben), wie im Screenshot gezeigt.

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

Varnish-Backend-Server konfigurieren

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

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

Speichern Sie die Datei und schließen Sie sie.

13. Nachdem Sie alle notwendigen Änderungen bezüglich Lack vorgenommen haben , laden Sie das systemd neu Manager-Konfiguration, um die neuen Änderungen in der Varnish-Dienstdatei widerzuspiegeln, und den Varnish-Dienst neu zu starten, um die Gesamtänderungen zu übernehmen.

# systemctl daemon-reload
# systemctl restart varnish

14. An dieser Stelle Lack und Apache sollte jetzt auf Port 80 lauschen und 8080 bzw. Sie können dies mit dem Befehl Socket Statistics bestätigen.

# ss -tpln

Prüfen Sie Varnish und Apache Listening Sockets

Schritt 4:Varnish Cache und Apache Setup testen

14. Zum Testen des Varnish Cache-HTTPD einrichten, einen Webbrowser öffnen und mithilfe der IP des Servers navigieren oder FQDN wie im folgenden Screenshot gezeigt.

http://10.42.0.144
OR
http://www.tecmin.lan

Überprüfen Sie dann, ob Webseiten über Varnish Cache bereitgestellt werden wie folgt. Überprüfen Sie das HTTP Kopfzeilen, indem Sie mit der rechten Maustaste auf die angezeigte Webseite klicken, wählen Sie Inspizieren , um die Entwicklertools zu öffnen, und klicken Sie dann auf Netzwerk Tab und neu laden Die Seite. Wählen Sie dann eine Anfrage zum Anzeigen der HTTP-Header aus, um dies zu bestätigen, wie im folgenden Screenshot gezeigt.

Überprüfen Sie, ob die Webseite über den Varnish-Cache bereitgestellt wird

Alternativ können Sie den folgenden Curl-Befehl ausführen, um dies zu überprüfen.

# curl -I http:///10.42.0.144
OR
#curl -I http:///www.tecmint.lan

Prüfen Sie Varnish und Apache Setup

Nützliche Varnish-Cache-Hilfsprogramme

15. Lassen Sie uns diese Anleitung beenden, indem wir uns einige der nützlichen Programme ansehen, die der Varnish Cache enthält Verteilung kommt mit. Dazu gehören Dienstprogramme für die Lack-Cache-Verwaltung, die Anzeige detaillierter Protokolldatensätze und die Anzeige von Lackleistungsstatistiken, wie unten beschrieben.

varnishadm

Der erste ist varnishadm welches verwendet wird, um einen laufenden Lack zu verwalten Beispiel. Es stellt eine Befehlszeilenschnittstellenverbindung zu varnishd her . Es kann sich auf eine laufende Instanz von Varnish auswirken, indem es varnishd startet und stoppt , Konfigurationsparameter ändern, VCL neu laden, Backends auflisten und mehr.

# varnishadm
> backend.list

Varnish mit dem Varnishadm-Tool verwalten

Weitere Informationen finden Sie unter man lackadm .

Lackprotokoll

Das nächste Programm ist varnishlog die verwendet werden, um auf anfragespezifische Daten (d. h. Informationen zu bestimmten Kunden und Anfragen) zuzugreifen. Es liefert große Mengen an Informationen, daher ist es normalerweise notwendig, sie zu filtern.

# varnishlog

Varnishlog – Varnish-Cache-Leistung prüfen

Weitere Informationen finden Sie im Man Lacklog .

Lackstatus

Wir haben auch varnishstat (Lackstatistik ), die für den Zugriff auf Gesamtstatistiken wie die Anzahl der Gesamtanforderungen, die Anzahl der Objekte und mehr verwendet wird.

# varnishstat

lackstat – Lackstatistik anzeigen

Weitere Informationen finden Sie in der Mann-Lackstatistik .

Lackplatte

Dann haben wir Varnishtop welches ein Dienstprogramm ist, das den Varnish liest log und präsentiert eine ständig aktualisierte Liste der am häufigsten vorkommenden Log-Einträge.

# varnishtop 

lacktop – Liest Lackprotokolle

Weitere Informationen finden Sie im Mann-Lacktop .

varnishhist

Ein weiteres nützliches Dienstprogramm ist varnishhist (Lackverlauf )-Dienstprogramm liest Varnish-Protokolle und präsentiert ein kontinuierlich aktualisiertes Histogramm, das die Verteilung der letzten N zeigt Anfragen durch deren Bearbeitung.

# varnishhist

lackstat – Verlauf des Lackprotokolls anzeigen

Weitere Informationen finden Sie im Mann Lackhist .

Hier hast du es! Sie haben Varnish Cache erfolgreich bereitgestellt um den Inhalt Ihrer Webanwendung zu beschleunigen, der mit Apache HTTP bereitgestellt wird Server auf CentOS/RHEL 8 .

Wenn Sie Fragen zu diesem Thema oder Gedanken haben, die Sie teilen möchten, verwenden Sie das unten stehende Feedback-Formular. Weitere Informationen finden Sie in der Varnish Cache 6.0-Dokumentation.

Wenn Sie HTTPS aktivieren möchten auf Ihrer Website finden Sie in unserem nächsten Artikel, der zeigt, wie Sie SSL/TLS für Varnish Cache mit Hitch unter CentOS/RHEL 8 aktivieren .

Sharing is Caring…
Auf Facebook teilenAuf Twitter teilenAuf Linkedin teilenAuf Reddit teilen
Cent OS
  1. So installieren Sie Puppet unter CentOS 8 / RHEL 8

  2. So installieren Sie Puppet 6.x auf CentOS 7 / RHEL 7

  3. So installieren Sie Apache Maven CentOS 7 / RHEL 7

  4. So installieren Sie Varnish Cache auf CentOS

  5. So installieren Sie Varnish Cache 4 unter CentOS 7

So installieren Sie Apache Tomcat 9.0 / 8.5 unter CentOS 7 / RHEL 7

So installieren Sie Zabbix Server 5.0 / 4.0 unter CentOS 7 / RHEL 7

So installieren Sie Apache Maven CentOS 8 / RHEL 8

Installieren Sie Varnish Cache für Apache unter CentOS 8

So installieren Sie Varnish Cache 6 für Nginx unter CentOS/RHEL 8

So beschleunigen Sie Apache mit Varnish Cache unter CentOS 7