Wéi installéiere ech Varnish Cache fir Apache op CentOS/RHEL 8


Varnish Cache ass e gratis Open Source, modernen an héich performante Webapplikatiounsbeschleuniger. Et ass e schnelle Reverse HTTP Proxy deen Inhalt cache fir Är Webserverleistung ze beschleunegen, andeems Dir Webinhalt am Server Memory späichert - an engem Cache. Et ass konfiguréiert fir virun engem Origin Server wéi Apache (HTTPD) Webserver ze lafen.

Wann e Client fir Inhalter freet, akzeptéiert Varnish d'HTTP-Ufro, schéckt d'Ufro un den Hierkonftsserver, cache déi zréckginn Objeten an äntwert op d'Clientufro. Déi nächst Kéier wann de Client deeselwechten Inhalt freet, servéiert Varnish et aus dem Cache. Op dës Manéier reduzéiert et d'Äntwertzäit an d'Netzbandbreetverbrauch op zukünfteg gläichwäerteg Ufroen.

Varnish funktionnéiert och als HTTP-Ufro-Router, Webapplikatiouns Firewall, Lastbalancer, a méi. Et ass konfiguréiert mat der flexibeler Varnish Configuration Language (VCL) déi erweiterbar ass mat Varnish Moduler (och bekannt als VMODs), ënnerstëtzt fir Edge Side Includes (ESL), Gzip Kompressioun an Dekompressioun, a vill méi.

An dësem Artikel léiert Dir wéi Dir Apache HTTPD Webserver a Varnish Cache 6 op engem frësche CentOS/RHEL 8 Server installéiere kënnt, dorënner d'Konfiguratioun vun Varnish fir virum HTTPD Server ze lafen.

  • E Server mat CentOS 8 Installatioun
  • E Server mat aktivéierten Red Hat Abonnement op Ärem System.

Schrëtt 1: Apache Web Server op CentOS/RHEL 8 installéieren

1. Fänkt un mat der Aktualiséierung vun all installéiert Software Packagen am System wéi follegt mam DNF Kommando.

# dnf update

2. Als nächst fuert de folgende Kommando fir den Apache HTTP Webserver aus dem AppStream Repository z'installéieren.

# dnf install httpd

3. Soubal d'Installatioun fäerdeg ass, start den httpd Service, aktivéiert et automatesch beim Systemboot ze starten, a kontrolléiert säi Status fir ze bestätegen datt et op a lafen ass, mam Systemctl Kommando.

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

4. Par défaut enthält CentOS/RHEL 8 eng komplett gespaart Firewall (fir Firewall-cmd -state lafen fir ze bestätegen). Dir musst Zougang zum HTTP-Service an der Firewall opmaachen fir de Benotzer Zougang zu Websäiten oder Uwendungen ze erlaben déi iwwer HTTP lafen, an och d'Firewalld-Astellunge nei lueden fir déi nei Ännerungen z'applizéieren.

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

Schrëtt 2: Installéiere Varnish Cache 6.4 op CentOS/RHEL 8

5. Elo datt den Apache Webserver leeft, kënnt Dir weiderfuere fir Varnish Cache op de System z'installéieren mat dem folgenden Kommando.

# dnf module install varnish

6. No enger erfollegräicher Installatioun kënnt Dir d'Versioun vu Varnish verifizéieren, déi op Ärem System installéiert ass.

# varnishd -V

7. Als nächst gëtt den Haaptausführbar als /usr/sbin/varnishd installéiert. Och d'Varnish Konfiguratiounsdateien ginn ënner dem /etc/varnish Verzeichnis gespäichert, wou:

  • /etc/varnish/default.vcl - ass d'Haaptlack Konfiguratiounsdatei geschriwwe mat VCL.
  • /etc/varnish/secret - ass d'Lack geheim Datei.

8. Start elo de Lack-Service, fir de Moment aktivéiert et automatesch beim Systemboot ze starten am Fall vun engem Server-Restart a kontrolléiert säi Status fir sécherzestellen datt et op a leeft wéi follegt.

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

Schrëtt 3: Apache konfiguréieren fir mat Varnish Cache ze schaffen

9. Elo ass et Zäit fir Varnish Cache ze konfiguréieren fir virum Apache Service ze lafen. Par défaut ass den Apache Server konfiguréiert fir um Port 80 ze lauschteren, dëst ass an der Haaptkonfiguratiounsdatei /etc/httpd/conf/httpd.conf definéiert.

Öffnen et fir z'änneren mat Ärem Liiblingstexteditor.

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

Sich no de Lauschteren Parameter. Fir Varnish virum Apache-Server auszeféieren, sollt Dir den Default-Port 80 op 8080 änneren (oder all aner Hafen vun Ärer Wiel) wéi an der folgender Screenshot.

Dëse Port gëtt spéider als den Hafen vum Backend Server an der Varnish Konfiguratiounsdatei bäigefüügt.

Och déi virtuell Hostkonfiguratioun fir all Websäit/Applikatioun déi iwwer Varnish servéiert soll konfiguréiert sinn fir op den uewe genannten Hafen ze lauschteren. Hei ass d'Konfiguratioun fir eisen Test Site (/etc/httpd/conf.d/tecmint.lan.conf).

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

Wichteg: Fir ze vermeiden datt d'Standard Apache HTTP Server Test Säit jeemools benotzt gëtt, kommentéiert all d'Zeilen an der Datei /etc/httpd/conf.d/welcome.conf oder läscht einfach d'Datei.

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

10. Als nächst, test d'httpd Konfiguratioun Syntax fir all Feeler. Wann et OK ass, start den httpd Service nei fir déi nei Ännerungen z'applizéieren.

# httpd -t
# systemctl restart httpd

11. Fir Varnish virun HTTPD z'installéieren, musst Dir et einfach konfiguréieren fir Client Ufroen am Standard HTTP-Port 80 ze lauschteren wéi hei ënnen erkläert.

Notéiert datt am Varnish Cache 6.0 a méi héich, Dir musst de Port Lack Server lauschteren an der Varnish Service Datei fir systemd setzen. Als éischt, öffnen et fir z'änneren.

# systemctl edit --full  varnish

Kuckt no der ExecStart Linn, ännert dann de Wäert vum -a Schalter (deen de Lack spezifizéiert, lauschtert d'Adress an den Hafen) vun :6081 op :80 wéi am folgenden Screenshot uginn.

Wichteg ass, wann Dir keng Adress uginn hutt, lauschtert varnishd op all verfügbare IPv4 an IPv6 Interfaces déi um Server aktiv sinn.

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

Späichert d'Ännerungen an der Datei a gitt eraus.

12. Elo musst Dir den Urspronk Server konfiguréieren, bekannt an der Varnish Terminologie als Backend. Et ass de Server deen HTTP versteet, mat Varnish schwätzt, fir Inhalt ze sichen - httpd an dësem Fall. Et ass an der Haaptkonfiguratiounsdatei /etc/varnish/default.vcl konfiguréiert.

# vi /etc/varnish/default.vcl 

Et gëtt e Standard Backend Konfiguratiounssektioun genannt Standard. Dir kënnt \Default op Server1 änneren (oder all Numm vun Ärer Wiel fir Ären Ëmfeldnormen ze entspriechen). Par défaut weist den Hostparameter op de localhost, op der Viraussetzung datt de Backend Server um localhost leeft.

Setzt dann den Hafen op 8080 (den Hafen deen Dir an der Apache virtuelle Host Konfiguratiounsdatei definéiert hutt) wéi am Screenshot gewisen.

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

Wann Äre Backend-Server op engem anere Host leeft, zum Beispill, en anere Server mat der Adress 10.42.1.10, da sollt den Hostparameter op dës IP Adress weisen.

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

Späichert d'Datei a maach se zou.

13. Nodeems Dir all déi néideg Ännerunge betreffend Varnish gemaach hutt, lued d'Systemd Manager Konfiguratioun nei fir déi nei Ännerungen an der Varnish Servicedatei ze reflektéieren an och de Varnish Service nei ze starten fir d'Gesamtännerungen anzesetzen.

# systemctl daemon-reload
# systemctl restart varnish

14. Zu dësem Zäitpunkt sollten Varnish an Apache elo um Hafen 80 respektiv 8080 lauschteren. Dir kënnt dëst mat der Socket Statistik Kommando bestätegen.

# ss -tpln

Schrëtt 4: Test Varnish Cache an Apache Setup

14. Fir de Varnish Cache-HTTPD-Setup ze testen, öffnen e Webbrowser a navigéiert mat dem Server IP oder FQDN wéi am folgenden Screenshot.

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

Da kontrolléiert ob Websäiten iwwer Varnish Cache servéiert ginn wéi follegt. Kontrolléiert d'HTTP Header andeems Dir op der ugewisen Websäit klickt, wielt Inspektéieren fir d'Entwéckler Tools opzemaachen, klickt dann op de Tab Network, a lued d'Säit nei. Wielt dann eng Ufro fir d'HTTP Header ze gesinn fir dëst ze bestätegen wéi am folgende Screenshot gewisen.

Alternativ kënnt Dir de folgende Curl Kommando ausféieren fir et z'iwwerpréiwen.

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

Nëtzlech Varnish Cache Utility Programmer

15. Loosst eis dëse Guide ofschléissen andeems Dir e puer vun den nëtzlechen Programmer kuckt, mat deenen d'Vernish Cache Verdeelung kënnt. Si enthalen Utilities fir Lack-Cache-Verwaltung, detailléiert Logrecords ze weisen, a Lackleistungsstatistike kucken wéi hei ënnen beschriwwen.

Déi éischt ass varnishadm déi benotzt gëtt fir eng Lafen Varnish Instanz ze administréieren. Et etabléiert eng Kommando-Linn Interface Verbindung zu varnishd. Et kann eng lafend Instanz vu Varnish beaflossen andeems Dir Varnishd starten an stoppt, Konfiguratiounsparameter änneren, de VCL nei lueden, Backends oplëschten, a méi.

# varnishadm
> backend.list

Fir méi Informatiounen, liesen Mann varnishadm.

Den nächste Programm ass varnishlog dee benotzt gëtt fir Ufrospezifesch Donnéeën ze kréien (dh Informatioun iwwer spezifesch Clienten an Ufroen). Et bitt grouss Quantitéiten un Informatioun, dofir ass et normalerweis néideg fir se ze filteren.

# varnishlog

Fir méi Informatiounen, liesen de Mann varnishlog.

Mir hunn och Varnishstat (Lackstatistiken) déi benotzt gëtt fir op allgemeng Statistike wéi d'Zuel vun den Total Ufroen, d'Zuel vun den Objeten a méi ze kommen.

# varnishstat

Fir méi Informatiounen, liesen de Mann varnishstat.

Dann hu mir Varnishtop, deen en Utility deen de Varnish Log liest an eng kontinuéierlech aktualiséiert Lëscht vun den heefegsten optrieden Log Entréen presentéiert.

# varnishtop 

Fir méi Informatiounen, liesen de Mann varnishtop.

En anert nëtzlecht Utility ass Varnishhist (Lackgeschicht) Utility liest Varnish Logbicher a presentéiert e kontinuéierlech aktualiséierten Histogramm deen d'Verdeelung vun de leschten N Ufroen duerch hir Veraarbechtung weist.

# varnishhist

Fir méi Informatiounen, liesen de Mann varnishhist.

Do hutt Dir et! Dir hutt erfollegräich Varnish Cache ofgesat fir Äre Webapplikatiounsinhalt ze beschleunegen, zerwéiert mam Apache HTTP Server op CentOS/RHEL 8.

Wann Dir Froen iwwer dëst Thema hutt oder Gedanken ze deelen, benotzt de Feedbackformular hei ënnen. Kuckt d'Varnish Cache 6.0 Dokumentatioun fir méi Informatioun.

Wann Dir HTTPS op Ärem Site aktivéiere wëllt, kuckt eisen nächsten Artikel, dee weist wéi Dir SSL/TLS fir Varnish Cache aktivéiert mat Hitch op CentOS/RHEL 8.