Installéiert Varnish Cache 5.2 fir Apache Performance op CentOS 7 ze stäerken


Varnish Cache (allgemeng bekannt als Varnish), ass en Open-Source, populäre Reverse-Proxy HTTP Beschleuniger geduecht fir Webserver ze beschleunegen. Et ass konstruéiert fir exzessiv benotzt API Endpunkter an och fir dynamesch Siten déi massiv Inhalter servéieren an héich Traffic erliewen.

Et hëlleft am Fong d'CPU Belaaschtung ze reduzéieren; ënnerstëtzt Laaschtbalancéierung op Webserver an erméiglecht e Webbrowser fir séier Siten ze lueden als Resultat vum Cache am RAM ze späicheren. Eng Zuel vu grousse Firmen benotzen et dorënner Facebook, Twitter, a Wikipedia just fir e puer ze nennen.

  1. E CentOS 7 mat Apache installéiert
  2. E CentOS 7 mat enger statescher IP Adress

An dësem Artikel wäert ech erkläre wéi Dir Varnish Cache 6.5 als Front-End op en Apache Webserver an CentOS 7 installéiere wëllt (schafft och op RHEL 7).

Schrëtt 1: Installéiert Apache Web Server op CentOS 7

1. Installéiert éischt Apache HTTP-Server vun de Standard CentOS Software Repositories mat dem YUM Package Manager wéi folgend.

# yum install httpd

2. Eemol Apache installéiert, starten et fir de Moment an aktivéiert et automatesch um System Boot ufänken.

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

3. Nächst Update System Firewall Regelen fir Entréeën Pakete op port 80 ze erlaben mat de Kommandoen hei drënner.

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

Schrëtt 2: Installéiert Varnish Cache op CentOS 7

4. Elo ginn et pre-kompiléiert RPM Packagen fir déi lescht Versioun vum Varnish Cache 6 (dh 6.5 zum Schreiwen), dofir musst Dir den offiziellen Varnish Cache Repository derbäi.

Virdru musst Dir den EPEL Repository aktivéieren fir verschidde Ofhängegkeetspakete z'installéieren wéi gewisen.

# yum install -y epel-release

5. Als nächst, installéiere pygpgme, e Package fir GPG Ënnerschrëften a Yum-Utils ze handhaben, eng Sammlung vun nëtzlechen Utilitys, déi d'native Features vun Yum op verschidde Weeër verlängeren.

# yum install pygpgme yum-utils

6. Erstellt elo eng Datei mam Numm /etc/yum.repos.d/varnishcache_varnish65.repo deen d'Repositorykonfiguratioun hei drënner enthält.

# vi /etc/yum.repos.d/varnishcache_varnish65.repo

Wichteg: Vergewëssert Iech el an 7 an der Konfiguratioun hei ënnen mat Ärer Linux Verdeelung a Versioun ze 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ëllt elo de Kommando hei drënner fir Äre lokalen Yum Cache ze aktualiséieren an de Lack-Cache-Package z'installéieren (vergiesst net de GPG-Schlëssel ze akzeptéieren andeems Dir y oder jo aschreift wärend der Installatioun vum Package):

# yum -q makecache -y --disablerepo='*' --enablerepo='varnishcache_varnish65'
# yum install varnish 

8. Nodeems Dir Varnish Cache installéiert hutt, gëtt den Haaptausführbar als /usr/sbin/varnishd installéiert a Lackkonfiguratiounsdateien sinn an /etc/varnish/:

  • /etc/varnish/default.vcl - dëst ass d'Haaptlack Konfiguratiounsdatei, et gëtt geschriwwe mat der Vanish Configuration Language (VCL).

9. Start elo de Lack-Service, aktivéiert et automatesch beim Systemboot ze starten, a verifizéiere säi Status fir sécherzestellen datt et op a lafen ass wéi follegt.

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

10. Dir kënnt bestätegen datt d'Lack-Installatioun erfollegräich war, andeems Dir de Standort vun der Varnish-Ausféierbar a Versioun op Ärem System installéiert hutt.

$ which varnishd
$ varnishd -V
varnishd (varnish-6.5.1 revision 1dae23376bb5ea7a6b8e9e4b9ed95cdc9469fb64)
Copyright (c) 2006 Verdens Gang AS
Copyright (c) 2006-2020 Varnish Software

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

11. Elo konfiguréieren Apache fir a Verbindung mat Varnish Cache ze schaffen. Par défaut lauschtert Apache um Hafen 80, Dir musst de Standard HTTPD Hafen op 8080 änneren - dëst garantéiert datt HTTPD hannert Varnish Caching leeft.

Dir kënnt de sed Kommando benotze fir den Hafen 80 op 8080 z'änneren wéi gewisen.

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

Notiz: Och musst Dir den Hafen op Ärer virtueller Hostkonfiguratioun änneren fir all Websäit déi Dir iwwer Varnish servéiere wëllt. 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>

12. Als nächst, öffnen d'Lack systemd Konfiguratiounsdatei a fanne de Parameter ExecStart deen den Hafen spezifizéiert Varnish lauschtert op, a ännert säi Wäert vun 6081 op 80 wéi am Screenshot gewisen.

# systemctl edit --full  varnish

D'Konfiguratioun soll esou ausgesinn wann et fäerdeg ass.

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

13. Als nächst, Ariichten Apache als Backend Server fir Varnish Proxy, an der /etc/varnish/default.vcl Konfiguratiounsdatei.

# vi /etc/varnish/default.vcl 

Fannt de Backend Sektioun, an definéiert den Host IP an den Hafen. Drënner ass d'Standard-Backend Konfiguratioun, set dëst fir op Ären aktuellen Inhaltsserver ze weisen.

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

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

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

14. Nodeems Dir all déi néideg Konfiguratioune gemaach hutt, starten HTTPD a Varnish Cache nei fir déi uewe genannte Verännerungen auszeféieren.

# systemctl daemon-reload
# systemctl restart httpd
# systemctl restart varnish

Schrëtt 4: Test Varnish Cache op Apache

15. Schlussendlech, test, ob Varnish aktivéiert ass a mam HTTPD-Service schafft mat dem cURL-Kommando hei drënner, wat benotzt ka ginn fir den HTTP-Header ze gesinn.

# curl -I http://localhost
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

Fir méi Informatioun, kuckt Varnish Cache Github Repository: https://github.com/varnishcache/varnish-cache

An dësem Tutorial hu mir erkläert wéi Dir Varnish Cache 6.5 Proxy fir Apache HTTP Server op CentOS 7 opstellt. Am Fall wou Dir Froen hutt oder zousätzlech Iddien ze deelen, benotzt de Feedbackformular hei ënnen fir eis zréck ze schreiwen.