Varnish Cache (ook aangeduid als Varnish) is een open-source, high-performance HTTP-accelerator ontworpen om web servers te versnellen. In onze laatste artikelen hebben we uitgelegd hoe Varnish Cache voor Apache te installeren op CentOS 7 en CentOS 8.
In dit artikel zullen we laten zien hoe Varnish Cache te installeren en te gebruiken als een front-end voor de Nginx HTTP-server in CentOS 7. Deze handleiding zou ook moeten werken op RHEL 7.
Vereisten
Stap 1: Installeer Nginx Web Server op CentOS 7
1. Begin met het installeren van de Nginx HTTP-server van de standaard CentOS-softwarerepositories met behulp van de YUM-pakketbeheerder als volgt.
# yum install nginx

2. Wanneer de installatie is voltooid, start de Nginx-service voor nu en schakel deze in om automatisch te starten bij het opstarten van het systeem.
# systemctl start nginx # systemctl enable nginx # systemctl status nginx

3. Wijzig nu de systeemfirewallregels om inkomende pakketten op poort 80 toe te staan met de onderstaande commando’s.
# 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 (dwz. 6.5 op het moment van schrijven), dus je moet het officiële Varnish Cache-opslagplaats toevoegen.
Voordat je dat doet, moet je de EPEL-opslagplaats inschakelen om verschillende afhankelijkheidspakketten te installeren zoals hieronder getoond.
# yum install -y epel-release
5. Installeer vervolgens pygpgme, een pakket voor het verwerken van GPG-handtekeningen en yum-utils, een verzameling handige hulpprogramma’s die de 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 opslagplaatsconfiguratie 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 het onderstaande commando uit om je lokale yum-cache bij te werken en het varnish-cachepakket te installeren (vergeet niet de GPG-sleutel te accepteren door y
of yes
in 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 hoofduitvoerbare bestand geïnstalleerd als /usr/sbin/varnishd en varnish-configuratiebestanden bevinden zich in /etc/varnish/:
- /etc/varnish/default.vcl – dit is het hoofdvarnish-configuratiebestand, het is geschreven in de varnish-configuratietaal (VCL).
9. Start nu de varnish-service, schakel deze in om automatisch te starten tijdens het opstarten van het systeem, en controleer de status ervan om ervoor te zorgen dat het draait zoals volgt.
# systemctl start varnish # systemctl enable varnish # systemctl status varnish

10. U kunt bevestigen dat de Varnish-installatie succesvol was door de locatie van het Varnish-uitvoerbaar bestand en de geïnstalleerde versie op uw systeem te zien.
$ 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 samen te werken met Varnish Cache
11. In deze stap moet u Nginx configureren om samen te werken met Varnish Cache. Standaard luistert Nginx op poort 80, u moet de standaard Nginx-poort wijzigen naar 8080 zodat het achter Varnish-caching draait.
Open het Nginx-configuratiebestand /etc/nginx/nginx.conf en zoek de regel luisteren 80 en verander het naar luisteren 8080 zoals in het serverblok dat hieronder wordt getoond.
# vi /etc/nginx/nginx.conf

Opmerking: Dit moet worden gedaan in alle serverblokconfiguratiebestanden (meestal gemaakt onder /etc/nginx/conf.d/) voor websites die u via Varnish wilt serveren.
12. Open vervolgens het configuratiebestand van de varnish-service en zoek de parameter ExecStart die de poort specificieert waarop Varnish luistert, en verander de waarde ervan van 6081 naar 80.
# systemctl edit --full varnish
De regel moet eruit zien zoals getoond.
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 configuratiebestand /etc/varnish/default.vcl.
# vi /etc/varnish/default.vcl
Zoek de backend-sectie en definieer het host-IP en poort. Hieronder staat de standaardbackendconfiguratie, stel dit in om te wijzen naar uw werkelijke contentserver.
backend default { .host = "127.0.0.1"; .port = "8080"; }
14. Nadat alle noodzakelijke configuraties zijn uitgevoerd, herstart u Nginx HTTPD en Varnish-cache om de bovenstaande wijzigingen door te voeren.
# systemctl daemon-reload # systemctl restart nginx # systemctl restart varnish
Stap 4: Test Varnish-cache op Nginx
15. Ten slotte, test of Varnish-cache is ingeschakeld en werkt met de Nginx-service met behulp van het cURL-commando hieronder om de HTTP-kop 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 u Varnish Cache instelt voor de Nginx HTTP-server op CentOS 7. Gebruik het opmerkingenformulier hieronder om ons eventuele vragen of extra ideeën te sturen.
Source:
https://www.tecmint.com/install-varnish-cache-for-nginx-on-centos-7/