Varnish è un server proxy incentrato sulla memorizzazione nella cache HTTP. È progettato come un acceleratore HTTP e può fungere da proxy inverso per il tuo server web Apache o Nginx. La vernice è stata utilizzata per siti Web di alto profilo e ad alto traffico, tra cui Wikipedia, The Guardian e New York Times.
In questo tutorial, ti mostreremo come installare e configurare l'acceleratore HTTP Paint come proxy inverso per il server Web Apache. Il vero server web Apache verrà eseguito su una porta HTTP non standard (in esecuzione sulla porta 8080). E Varnish verrà eseguito come proxy inverso sulla porta HTTP 80. Per questa guida, utilizzeremo il server CentOS 7.
Cosa faremo
- Installa Apache su CentOS 7
- Configura Apache sulla porta 8080
- Installa Varnish su CentOS 7
- Configura Varnish come proxy inverso per Apache
- Configura Firewalld
- Test
Prerequisito
- Server CentOS 7
- Privilegi di root
Passaggio 1:installa e configura Apache su CentOS 7
Installeremo il server Web Apache/httpd dal repository CentOS 7, quindi configureremo il server che verrà eseguito sulla porta 8080.
Installa Apache/httpd usando il comando yum di seguito.
yum -y install httpd
Al termine dell'installazione, avvia il servizio httpd e abilitalo all'esecuzione all'avvio del sistema utilizzando i comandi seguenti.
systemctl start httpd
systemctl enable httpd
Quindi il servizio httpd è ora in esecuzione. Controllalo usando il comando netstat o curl come mostrato di seguito.
netstat -plntu
curl -I localhost
Quindi con questo è stato installato il server web Apache/httpd.
Passaggio 2 - Configura Apache sulla porta 8080
In questo passaggio configureremo il server Web Apache/httpd per l'esecuzione sulla porta 8080. A tale scopo, dobbiamo prima modificare il file di configurazione 'httpd.conf'.
Vai alla directory di configurazione di Apache e modifica il file httpd.conf.
cd /etc/httpd/
vim conf/httpd.conf
Modifica la porta predefinita da 80 a 8080 nella riga "Ascolta".
Listen 8080
Salva ed esci.
Ora prova la configurazione e assicurati che non ci siano errori. Quindi riavvia il servizio apache/httpd.
apachectl configtest
systemctl restart httpd
Ora controlla di nuovo usando netstat e assicurati che il server web sia in esecuzione sulla porta 8080.
netstat -plntu
Passaggio 3:installa Varnish su CentOS 7
In questo passaggio, installeremo l'acceleratore HTTP ad alte prestazioni di Varnish. È disponibile nel repository EPEL (Extra Packages for Enterprise Linux), quindi è necessario installare il repository prima di installare Varnish.
Installa il repository EPEL usando il comando seguente.
yum -y install epel-release
Ora installa Varnish dal repository EPEL usando il comando yum di seguito.
yum -y install varnish
Al termine dell'installazione, avvia Varnish e aggiungilo all'avvio all'avvio del sistema utilizzando i comandi systemctl di seguito.
systemctl start varnish
systemctl enable varnish
Per impostazione predefinita, Varnish utilizzerà le porte 6081 e 6082. Verificalo utilizzando il comando netstat di seguito.
netstat -plntu
E assicurati di ottenere la porta Varnish predefinita come di seguito.
Passaggio 4:configura Varnish come proxy inverso per Apache
Quindi Varnish è installato e ora lo configureremo come proxy inverso per il server Web Apache. Varnish verrà eseguito sulla porta HTTP 80 per impostazione predefinita.
Vai alla directory di configurazione di Varnish e modifica la configurazione predefinita in 'default.vcl'.
cd /etc/varnish
vim default.vcl
Definisci la sezione di back-end predefinita. Stiamo utilizzando il server web Apache in esecuzione sulla porta 8080, quindi la configurazione come di seguito.
backend default {
.host = "127.0.0.1";
.port = "8080";
}
Salva ed esci.
Quindi, configura Varnish per l'esecuzione con la porta HTTP 80. Modifica il file 'varnish.params' presente nella directory di configurazione di Varnish.
vim varnish.params
In questo file, cambia il valore della riga 'VARNISH_LISTEN_PORT' in HTTP port 80.
VARNISH_LISTEN_PORT=80
Salva ed esci.
Ora riavvia Varnish e controlla le statistiche usando il comando netstat.
systemctl restart varnish
netstat -plntu
Assicurati di avere il risultato simile a quello mostrato di seguito.
Varnish HTTP Accelerator è stato installato e ora funge da proxy inverso per il server Web Apache.
Passaggio 5 - Configura Firewalld
In questo passaggio, installeremo Firewalld e apriremo nuove porte HTTP e HTTPS.
Installa Firewalld usando il seguente comando yum.
yum -y install firewalld
Ora avvia il servizio e abilitalo all'esecuzione automatica all'avvio del sistema.
systemctl start firewalld
systemctl enable firewalld
Quindi, apri la nuova porta per le richieste HTTP e HTTPS utilizzando il comando firewalld-cmd, come mostrato di seguito.
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
Ricarica la configurazione del firewall.
Questo è tutto. La configurazione di Firewalld è stata completata.
Fase 6 - Test
Per testare Varnish, esegui prima il seguente comando curl.
curl -I hakase-labs.co
E in output, assicurati di ottenere un'intestazione HTTP simile a quella mostrata nello screenshot seguente.
Quindi, prova Varnish dal browser. Per questo, apri il tuo browser web e digita l'URL o l'indirizzo del server.
http://hakase-labs.co
Assicurati che funzioni come di seguito.
Nota: Se ottieni '403' Forbidden, devi creare un file 'index.html' nella directory '/var/www/html'.
cd /var/www/html/
echo '<h1><center> Varnish- Apache - hakase-labs</center></h1>' > index.html
Andando avanti, prova il registro della vernice usando il comando seguente.
varnishncsa
E otterrai il registro di accesso per la vernice.
Questo è tutto. L'acceleratore HTTP Varnish è stato installato e ora è in esecuzione come proxy inverso per il server Web Apache.
Riferimento
- https://varnish-cache.org/