Aiuta a ridurre il carico della CPU; supporta il bilanciamento del carico sui server web e consente al browser di caricare rapidamente i siti grazie alla memorizzazione della cache in RAM. Diverse grandi aziende lo utilizzano tra cui
Requisiti
In questo articolo, spiegherò come installare e utilizzare
Passaggio 1: Installare il server web Apache su CentOS 7
1. Prima di tutto, installa il server HTTP Apache dai repository software predefiniti di CentOS utilizzando il gestore di pacchetti
# yum install httpd

2. Una volta installato Apache, avvialo temporaneamente e abilita l’avvio automatico al boot del sistema.
# systemctl start httpd # systemctl enable httpd # systemctl status httpd

3. Aggiorna il sistema di firewall per consentire pacchetti in entrata sulla porta 80 usando i comandi riportati di seguito.
# firewall-cmd --zone=public --permanent --add-service=http # firewall-cmd --reload

Passo 2: Installare Varnish Cache su CentOS 7
4. Ora ci sono pacchetti RPM precompilati per la versione più recente di Varnish Cache 6 (cioè 6.5 al momento della scrittura), quindi devi aggiungere il repository ufficiale di Varnish Cache.
Prima di tutto, devi abilitare il repository EPEL per installare diversi pacchetti dipendenze, come mostrato.
# yum install -y epel-release
5. Successivamente, installa pygpgme, un pacchetto per la gestione delle firme GPG e yum-utils, una raccolta di utilità utili che estendono le funzionalità native di yum in diversi modi.
# yum install pygpgme yum-utils
6. Ora crea un file denominato /etc/yum.repos.d/varnishcache_varnish65.repo che contiene la configurazione del repository seguente.
# vi /etc/yum.repos.d/varnishcache_varnish65.repo
Importante: Assicurati di sostituire el
e 7
nella configurazione seguente con la tua distribuzione Linux e la 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 esegui il comando seguente per aggiornare il cache locale di yum e installare il pacchetto di Varnish Cache (non dimenticare di accettare la chiave GPG digitando y
o yes
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 di Varnish (VCL).
9. Ora avvia il servizio Varnish, abilitalo ad avviarsi automaticamente durante l’avvio del sistema e verifica il suo stato per assicurarti che sia in esecuzione come segue.
# systemctl start varnish # systemctl enable varnish # systemctl status varnish

10. Puoi confermare che l’installazione di Varnish è stata eseguita correttamente osservando la posizione dell’eseguibile di Varnish e la versione installata nel 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 Apache per lavorare con Varnish Cache
11. Configura ora Apache per lavorare in collaborazione con Varnish Cache. Di default, Apache ascolta sulla porta 80, devi cambiare la porta predefinita di HTTPD in 8080 – in questo modo HTTPD verrà eseguito dietro la cache di Varnish.
Puoi utilizzare il comando sed per cambiare la porta 80 in 8080 come mostrato.
# sed -i "s/Listen 80/Listen 8080/" /etc/httpd/conf/httpd.conf
Nota: Inoltre, devi cambiare la porta nella configurazione del virtual host per ogni sito web che desideri servire tramite Varnish. Ecco la configurazione per il nostro sito di test (/etc/httpd/conf.d/tecmint.lan.conf).
<VirtualHost *:8080> DocumentRoot "/var/www/html/tecmint.lan/" ServerName www.tecmint.lan # Other directives here </VirtualHost>
12. Successivamente, aprire il file di configurazione di systemd di Varnish e trovare il parametro ExecStart che specifica la porta su cui Varnish ascolta, e cambiare il suo valore da 6081 a 80 come mostrato nello screenshot.
# systemctl edit --full varnish
La configurazione dovrebbe apparire così una volta terminata.
ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m

13. Successivamente, configurare Apache come server backend per il proxy di Varnish, nel file di configurazione /etc/varnish/default.vcl.
# vi /etc/varnish/default.vcl
Trovare la sezione backend e definire l’host IP e la porta. Di seguito è riportata la configurazione backend predefinita, impostare questo per puntare al proprio server di contenuti effettivo.
backend default { .host = "127.0.0.1"; .port = "8080"; }
Se il proprio server backend è in esecuzione su un server diverso con indirizzo 10.42.1.10, allora il parametro host dovrebbe puntare a questo indirizzo IP.
backend server1 { .host = "10.42.1.10"; .port = "8080"; }
14. Dopo aver eseguito tutte le configurazioni necessarie, riavviare HTTPD e la cache di Varnish per rendere effettive le modifiche sopra indicate.
# systemctl daemon-reload # systemctl restart httpd # systemctl restart varnish
Passaggio 4: Test di Varnish Cache su Apache
15. Infine, testare se Varnish è abilitato e funzionante con il servizio HTTPD utilizzando il comando cURL di seguito, che può essere utilizzato per visualizzare l’intestazione HTTP.
# curl -I http://localhost
Output di esempio
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
Per ulteriori informazioni, consultare il repository di GitHub di Varnish Cache:
In questo tutorial, abbiamo spiegato come configurare il proxy Varnish Cache 6.5 per il server HTTP Apache su CentOS 7. In caso di domande o idee aggiuntive da condividere, utilizza il modulo di feedback qui sotto per scriverci.
Source:
https://www.tecmint.com/install-varnish-cache-on-centos-7-for-apache/