Zoeken op website

Hoe Varnish Cache 5.2 voor Nginx op CentOS 7 te installeren


Varnish Cache (ook wel Varnish genoemd) is een open-source, krachtige HTTP-accelerator die is ontworpen om webservers te versnellen. In onze laatste artikelen hebben we uitgelegd hoe je Varnish Cache voor Apache instelt op CentOS 7 en CentOS 8.

In dit artikel laten we u zien hoe u Varnish Cache installeert en gebruikt als front-end voor de Nginx HTTP-server in CentOS 7. Deze handleiding zou ook moeten werken op RHEL 7.

Vereisten

  1. Een CentOS 7 met Apache geïnstalleerd
  2. Een CentOS 7 met een statisch IP-adres

Stap 1: Installeer Nginx Web Server op CentOS 7

1. Begin met het installeren van de Nginx HTTP-server vanuit de standaard CentOS-softwarebronnen met behulp van de YUM-pakketbeheerder als volgt.

yum install nginx

2. Wanneer de installatie is voltooid, start u voorlopig de Nginx-service en schakelt u deze in om automatisch te starten bij het opstarten van het systeem.

systemctl start nginx
systemctl enable nginx
systemctl status nginx

3. Pas nu de systeemfirewallregels aan om inkomende pakketten op poort 80 toe te staan met behulp van de onderstaande opdrachten.

firewall-cmd --zone=public --permanent --add-port=80/tcp
firewall-cmd --reload
firewall-cmd --zone=public --permanent --add-port=8080/tcp
firewall-cmd --reload

Stap 2: Installeer Varnish Cache op CentOS 7

4. Er zijn nu vooraf gecompileerde RPM-pakketten voor de nieuwste versie van Varnish Cache 6 (d.w.z. 6.5 op het moment van schrijven), daarom je moet de officiële Varnish Cache-repository toevoegen.

Daarvoor moet u de EPEL-repository inschakelen om verschillende afhankelijkheidspakketten te installeren, zoals weergegeven.

yum install -y epel-release

5. Installeer vervolgens pygpgme, een pakket voor het verwerken van GPG-handtekeningen en yum-utils, een verzameling nuttige hulpprogramma's die de eigen functies van yum op verschillende manieren uitbreiden.

yum install pygpgme yum-utils

6. Maak nu een bestand met de naam /etc/yum.repos.d/varnishcache_varnish5.repo dat de onderstaande repositoryconfiguratie bevat.

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

Belangrijk: zorg ervoor dat je el en 7 in de onderstaande configuratie vervangt door je Linux-distributie en -versie:

[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. Voer nu de onderstaande opdracht uit om je lokale yum-cache bij te werken en het lak-cachepakket te installeren (vergeet niet de GPG-sleutel te accepteren door y of yes te typen tijdens het installeren van het pakket):

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

8. Na het installeren van Varnish Cache wordt het belangrijkste uitvoerbare bestand geïnstalleerd als /usr/sbin/varnishd en de lakconfiguratiebestanden bevinden zich in >/etc/vernis/:

  • /etc/varnish/default.vcl – dit is het belangrijkste lakconfiguratiebestand, het is geschreven met behulp van de vanish-configuratietaal (VCL).

9. Start nu de vernisservice, schakel deze in om automatisch te starten tijdens het opstarten van het systeem en controleer de status ervan om er zeker van te zijn dat deze als volgt actief is.

systemctl start varnish
systemctl enable varnish
systemctl status varnish

10. U kunt bevestigen dat de installatie van Varnish succesvol was door de locatie van het uitvoerbare bestand van Varnish en de geïnstalleerde versie op uw systeem te bekijken.

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

Stap 3: Configureer Nginx om met Varnish Cache te werken

11. In deze stap moet u Nginx configureren om met Varnish Cache te werken. Standaard luistert Nginx op poort 80. U moet de standaard Nginx-poort wijzigen in 8080, zodat deze achter Varnish-caching draait.

Open het Nginx-configuratiebestand /etc/nginx/nginx.conf en zoek de regel luister 80 en wijzig deze om 8080 te luisteren zoals op de server blok weergegeven in de onderstaande schermafbeelding.

vi /etc/nginx/nginx.conf

Opmerking: Dit moet worden gedaan in alle serverblokconfiguratiebestanden (meestal gemaakt onder /etc/nginx/conf.d/) voor websites die u wilt bedienen via >Vernis.

12. Open vervolgens het configuratiebestand van de lakservice en zoek de parameter ExecStart die specificeert op welke poort Varnish luistert, en verander de waarde van 6081 tot 80.

systemctl edit --full  varnish

De lijn moet er uitzien zoals weergegeven.

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

13. Stel vervolgens Nginx in als een backend-server voor de Varnish-proxy, in het /etc/varnish/default.vcl configuratiebestand.

vi /etc/varnish/default.vcl 

Zoek het gedeelte backend en definieer het host-IP en de poort. Hieronder vindt u de standaard backend-configuratie. Stel deze zo in dat deze verwijst naar uw daadwerkelijke inhoudsserver.

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

14. Nadat u alle benodigde configuraties heeft uitgevoerd, start u Nginx HTTPD en Varnish cache opnieuw op om de bovenstaande wijzigingen door te voeren.

systemctl daemon-reload
systemctl restart nginx
systemctl restart varnish

Stap 4: Test Varnish Cache op Nginx

15. Test ten slotte of de Varnish-cache is ingeschakeld en werkt met de Nginx-service met behulp van de onderstaande cURL-opdracht om de HTTP-header te bekijken.

curl -I http://localhost
Voorbeelduitvoer
HTTP/1.1 200 OK
Server: nginx/1.16.1
Date: Wed, 06 Jan 2021 09:24:18 GMT
Content-Type: text/html
Content-Length: 4833
Last-Modified: Fri, 16 May 2014 15:12:48 GMT
ETag: "53762af0-12e1"
X-Varnish: 2
Age: 0
Via: 1.1 varnish (Varnish/6.5)
Accept-Ranges: bytes
Connection: keep-alive

U kunt aanvullende informatie vinden in de Varnish Cache Github Repository: https://github.com/varnishcache/varnish-cache

In deze tutorial hebben we uitgelegd hoe je Varnish Cache instelt voor de Nginx HTTP-server op CentOS 7. Gebruik het onderstaande commentaarformulier om ons vragen of extra ideeën te sturen.