Varnish Cache (noto anche come Varnish) è un acceleratore HTTP open-source ad alte prestazioni progettato per velocizzare i server web. Nei nostri ultimi articoli, abbiamo spiegato come configurare Varnish Cache per Apache su CentOS 7 e CentOS 8.
In questo articolo, ti mostreremo come installare e utilizzare Varnish Cache come front-end per il server HTTP Nginx in CentOS 7. Questa guida dovrebbe funzionare anche su RHEL 7.
Requisiti
Passaggio 1: Installare il server web Nginx su CentOS 7
1. Inizia installando il server Nginx HTTP dai repository software predefiniti di CentOS utilizzando il gestore pacchetti YUM come segue.
# yum install nginx

2. Quando l’installazione è completata, avvia il servizio Nginx per ora e abilita l’avvio automatico al boot del sistema.
# systemctl start nginx # systemctl enable nginx # systemctl status nginx

3. Modifica ora le regole del firewall di sistema per consentire i pacchetti in ingresso sulla porta 80 utilizzando i comandi seguenti.
# firewall-cmd --zone=public --permanent --add-port=80/tcp # firewall-cmd --reload # firewall-cmd --zone=public --permanent --add-port=8080/tcp # firewall-cmd --reload

Passaggio 2: Installare Varnish Cache su CentOS 7
Ci sono ora pacchetti RPM pre-compilati per l’ultima versione di Varnish Cache 6 (cioè 6.5 al momento della scrittura), quindi è necessario aggiungere il repository ufficiale di Varnish Cache.
Prima di ciò, è necessario abilitare il repository EPEL per installare diversi pacchetti dipendenza come mostrato.
# yum install -y epel-release
5. Successivamente, installare pygpgme, un pacchetto per gestire le firme GPG e yum-utils, una raccolta di utilità utili che estendono le funzionalità native di yum in vari modi.
# yum install pygpgme yum-utils
6. Ora creare un file chiamato /etc/yum.repos.d/varnishcache_varnish5.repo che contiene la configurazione del repository di seguito.
# vi /etc/yum.repos.d/varnishcache_varnish65.repo
Importante: Assicurarsi di sostituire el
e 7
nella configurazione sottostante con la propria distribuzione Linux e versione:
[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. Ora eseguire il comando di seguito per aggiornare la cache yum locale e installare il pacchetto varnish cache (non dimenticare di accettare la chiave GPG digitando y
o sì
durante l’installazione del pacchetto):
# yum -q makecache -y --disablerepo='*' --enablerepo='varnishcache_varnish65' # yum install varnish

8. Dopo aver installato Varnish Cache, l’eseguibile principale sarà installato come /usr/sbin/varnishd e i file di configurazione di varnish si trovano in /etc/varnish/:
- /etc/varnish/default.vcl – questo è il file di configurazione principale di varnish, è scritto utilizzando il linguaggio di configurazione vanish (VCL).
9. Ora avvia il servizio Varnish, abilitalo per avviarsi automaticamente all’avvio del sistema e verifica il suo stato per assicurarti che sia attivo e funzionante come segue.
# systemctl start varnish # systemctl enable varnish # systemctl status varnish

10. Puoi confermare che l’installazione di Varnish è stata eseguita con successo visualizzando la posizione dell’eseguibile di Varnish e la versione installata sul tuo sistema.
$ which varnishd $ varnishd -V
Output di esempio
varnishd (varnish-6.5.1 revision 1dae23376bb5ea7a6b8e9e4b9ed95cdc9469fb64) Copyright (c) 2006 Verdens Gang AS Copyright (c) 2006-2020 Varnish Software
Passaggio 3: Configura Nginx per lavorare con Varnish Cache
11. In questo passaggio, devi configurare Nginx per lavorare con Varnish Cache. Per impostazione predefinita, Nginx ascolta sulla porta 80, dovresti cambiare la porta predefinita di Nginx in 8080 in modo che funzioni dietro la cache di Varnish.
Apri il file di configurazione di Nginx /etc/nginx/nginx.conf e trova la riga listen 80 e cambiala in listen 8080 come nel blocco server mostrato nello screenshot qui sotto.
# vi /etc/nginx/nginx.conf

Nota: Questo dovrebbe essere fatto in tutti i file di configurazione del blocco server (solitamente creati sotto /etc/nginx/conf.d/) per i siti web che vuoi servire tramite Varnish.
12. Successivamente, apri il file di configurazione del servizio varnish e trova il parametro ExecStart che specifica la porta su cui Varnish ascolta e cambia il suo valore da 6081 a 80.
# systemctl edit --full varnish
La riga dovrebbe apparire come mostrato.
ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m

13. Successivamente, configura Nginx come server backend per il proxy Varnish, nel file di configurazione /etc/varnish/default.vcl.
# vi /etc/varnish/default.vcl
Trova la sezione backend e definisci l’indirizzo IP e la porta host. Di seguito è riportata la configurazione predefinita del backend, impostala per puntare al tuo server di contenuti effettivo.
backend default { .host = "127.0.0.1"; .port = "8080"; }
14. Dopo aver eseguito tutte le configurazioni necessarie, riavvia Nginx HTTPD e la cache Varnish per applicare le modifiche sopra indicate.
# systemctl daemon-reload # systemctl restart nginx # systemctl restart varnish
Passaggio 4: Testa la Cache Varnish su Nginx
15. Infine, verifica se la cache Varnish è abilitata e funzionante con il servizio Nginx utilizzando il comando cURL di seguito per visualizzare l’intestazione HTTP.
# curl -I http://localhost
Output di Esempio
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
Puoi trovare informazioni aggiuntive dal Repository GitHub di Varnish Cache: https://github.com/varnishcache/varnish-cache
In questo tutorial, abbiamo spiegato come configurare la cache Varnish per il server HTTP Nginx su CentOS 7. Usa il modulo di commento qui sotto per inviarci eventuali domande o idee aggiuntive.
Source:
https://www.tecmint.com/install-varnish-cache-for-nginx-on-centos-7/