Cache di vernice (indicato anche come vernice ) è 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
- Un CentOS 7 con Apache installato
- Un CentOS 7 con un indirizzo IP statico
Passaggio 1:installa Nginx Web Server su CentOS 7
1. Inizia installando Nginx HTTP server dai repository software CentOS predefiniti utilizzando il gestore pacchetti YUM come segue.
# yum install nginx
2. Al termine dell'installazione, avvia Nginx servizio per ora e abilitalo per l'avvio automatico all'avvio del sistema.
# systemctl start nginx # systemctl enable nginx # systemctl status nginx
3. Ora modifica le regole del firewall di sistema per consentire i pacchetti in entrata 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:installa Varnish Cache su CentOS 7
4. Ora sono disponibili pacchetti RPM precompilati per l'ultima versione di Varnish Cache 6 (cioè 6.5 nel momento in cui scrivo), quindi è necessario aggiungere il repository ufficiale di Varnish Cache.
Prima di ciò, devi abilitare il repository EPEL per installare diversi pacchetti di dipendenze come mostrato.
# yum install -y epel-release
5. Quindi, installa pygpgme , un pacchetto per la gestione delle firme GPG e yum-utils, una raccolta di utili utilità che estendono le funzionalità native di yum in vari modi.
# yum install pygpgme yum-utils
6. Ora crea 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 :Assicurati di sostituire el
e 7
nella configurazione seguente con la tua distribuzione e versione Linux:
[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 la tua cache yum locale e installare il pacchetto della cache di vernice (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 verrà installato come /usr/sbin/varnishd e i file di configurazione di vernice si trovano in /etc/varnish/ :
- /etc/varnish/default.vcl – questo è il file di configurazione principale di Paint, è scritto usando il linguaggio di configurazione vanish (VCL).
9. Ora avvia il servizio di vernice, abilitalo all'avvio automatico durante l'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 è riuscita vedendo la posizione dell'eseguibile di Varnish e la versione installata sul tuo sistema.
$ which varnishd $ varnishd -V
Risultato campione
varnishd (varnish-6.5.1 revision 1dae23376bb5ea7a6b8e9e4b9ed95cdc9469fb64) Copyright (c) 2006 Verdens Gang AS Copyright (c) 2006-2020 Varnish Software
Passaggio 3:configura Nginx per funzionare con Varnish Cache
11. In questo passaggio, devi configurare Nginx per funzionare con Varnish Cache. Per impostazione predefinita, Nginx è in ascolto sulla porta 80 , dovresti cambiare la porta Nginx predefinita in 8080 quindi viene eseguito dietro la memorizzazione nella cache di Varnish.
Apri il file di configurazione di Nginx /etc/nginx/nginx.conf e trova la linea ascolta 80 e cambialo per ascoltare 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 del server (di solito creati in /etc/nginx/conf.d/ ) per i siti web che desideri pubblicare tramite Vernice .
12. Quindi, apri il file di configurazione del servizio di vernice e trova il parametro ExecStart che specifica la porta su cui Varnish è in ascolto e cambia il suo valore da 6081 a 80 .
# systemctl edit --full varnish
La linea dovrebbe apparire come mostrato.
ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m
13. Quindi, configura Nginx come server back-end per il proxy Varnish, in /etc/varnish/default.vcl file di configurazione.
# vi /etc/varnish/default.vcl
Trova il backend sezione e definire l'IP host e la porta. Di seguito è riportata la configurazione di back-end predefinita, impostala in modo che punti 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 Varnish cache per effettuare le modifiche di cui sopra.
# systemctl daemon-reload # systemctl restart nginx # systemctl restart varnish
Fase 4:prova la cache di vernice su Nginx
15. Infine, verifica se la cache Varnish è abilitata e funziona con il servizio Nginx utilizzando il comando cURL riportato di seguito per visualizzare l'intestazione HTTP.
# curl -I http://localhost
Risultato campione
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 ulteriori informazioni dal repository Github della cache di vernice:https://github.com/varnishcache/varnish-cache
In questo tutorial, abbiamo spiegato come configurare Varnish Cache per il server HTTP Nginx su CentOS 7. Usa il modulo dei commenti qui sotto per inviarci domande o idee extra.