Varnish è un server proxy incentrato sulla memorizzazione nella cache HTTP. È progettato come 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 mostrerò come installare e configurare l'acceleratore HTTP di vernice come proxy inverso per il server web Nginx. Il vero server web Nginx verrà eseguito su una porta HTTP non standard 8080. E Varnish verrà eseguito come proxy inverso sulla porta HTTP 80. Per questa guida, utilizzeremo il server Ubuntu 16.04.
Cosa faremo
- Installa Nginx su Ubuntu 16.04
- Configura Nginx sulla porta 8080
- Installa Varnish su Ubuntu 16.04
- Configura Varnish come proxy inverso per Nginx
- Configura Firewall UFW
- Test
Prerequisiti
- Ubuntu 16.04
- privilegi radice
Passaggio 1:installa Nginx su Ubuntu 16.04
Il primo passo che dobbiamo fare per questo tutorial è installare Nginx sul sistema Ubuntu 16.04. In questo passaggio, installeremo Nginx (è disponibile nel repository ufficiale di Ubuntu), quindi avvieremo il servizio e quindi abiliteremo l'avvio ogni volta all'avvio del sistema.
Installa Nginx dal repository di Ubuntu usando il comando apt.
sudo apt install nginx -y
Al termine dell'installazione, avvia Nginx e abilitalo all'avvio ogni volta all'avvio del sistema utilizzando i comandi systemctl di seguito.
systemctl start nginx
systemctl enable nginx
Il server Web Nginx è in esecuzione sulla porta HTTP predefinita:verificalo utilizzando netstat e assicurati che la porta HTTP sia utilizzata da Nginx.
netstat -plntu
Passaggio 2 - Configura Nginx sulla porta 8080
In questo passaggio, configureremo nginx per l'esecuzione su una porta HTTP non standard 8080. A tale scopo, dobbiamo modificare i file dell'host virtuale nella directory 'siti-disponibili'.
Vai alla directory di configurazione di Nginx e modifica il file host virtuale 'predefinito' usando vim.
cd /etc/nginx/
vim sites-available/default
Modifica il valore della riga "ascolta" in 8080.
listen 8080 default_server;
listen [::]:8080 default_server;
Salva ed esci.
Ora prova la configurazione di Nginx e assicurati che non ci siano errori. Quindi riavvia il servizio.
nginx -t
systemctl restart nginx
Ora prova di nuovo nginx usando netstat e assicurati che sia in esecuzione sulla porta HTTP non standard 8080.
netstat -plntu
Il server web Nginx è stato installato e ora è in esecuzione sulla porta 8080.
Passaggio 3:installa Varnish su Ubuntu 16.04
Ora dobbiamo installare Varnish sul sistema. Possiamo installare l'ultima versione dello strumento dal sorgente. E per questa guida, installeremo la vernice dal repository di Ubuntu - Varnish v4.
Installa la vernice usando il comando apt di seguito.
sudo apt install varnish -y
Ora avvia Paint e abilitalo all'avvio all'avvio del sistema utilizzando i comandi systemctl di seguito.
systemctl start varnish
systemctl enable varnish
Per impostazione predefinita, Paint utilizzerà la porta 6081 per l'accesso pubblico e la porta 6082 per l'interfaccia Web di amministrazione di Paint. Controllalo usando il comando netstat e assicurati che quelle porte siano nell'elenco.
netstat -plntu
Varnish HTTP Accelerator è stato installato.
Passaggio 4:configura Varnish come proxy inverso per Nginx
In questo tutorial, useremo Varnish come proxy inverso per il server web Nginx. Varnish verrà eseguito sulla porta HTTP 80 e il server Web Nginx sulla porta HTTP 8080 (è completo).
In questo passaggio, configureremo Varnish per Nginx, definiremo il server di back-end, quindi cambieremo Paint in modo che venga eseguito sotto la porta HTTP 80.
Ora vai alla directory di configurazione di Paint e modifica il file 'default.vcl'.
cd /etc/varnish
vim default.vcl
Sulla riga di backend, definisci la configurazione come di seguito.
backend default {
.host = "127.0.0.1";
.port = "8080";
}
Salva ed esci.
Nota:
- .host =Indirizzo del server web di back-end.
- .port =Il server Web di backup in esecuzione.
La configurazione del backend è stata completata.
Successivamente, dobbiamo configurare Varnish per l'esecuzione sotto la porta HTTP 80. Vai alla directory '/etc/default' e modifica il file di configurazione di vernice 'vernish'.
cd /etc/default/
vim varnish
Nella riga 'DAEMON_OPTS', cambia la porta predefinita 6081 in HTTP port 80.
DAEMON_OPTS="-a :80 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-S /etc/varnish/secret \
-s malloc,256m"
Salva ed esci.
Ora modifica il file del servizio di vernice nella directory '/lib/systemd/system'. Vai alla directory di sistema systemd e modifica il file paint.service.
cd /lib/systemd/system
vim varnish.service
Nella riga 'ExecStart', cambia la porta di vernice 6081 in porta HTTP 80.
ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m
Salva ed esci.
Ricarica la configurazione di sistema e riavvia Paint.
systemctl daemon-reload
systemctl restart varnish
Al termine della configurazione, seleziona Varnish utilizzando il comando netstat di seguito.
netstat -plntu
Assicurati che Varnish sia in esecuzione sulla porta HTTP 80 come mostrato di seguito.
La configurazione della vernice come proxy inverso per Nginx è stata completata.
Passaggio 5:configurazione del firewall UFW
Il sistema Ubuntu viene fornito con un firewall leggibile predefinito chiamato "UFW". Se non hai il pacchetto, installalo usando il comando apt qui sotto.
sudo apt install ufw
In questo passaggio, attiveremo il firewall e apriremo nuove porte per SSH, HTTP e HTTPS.
Esegui i comandi ufw di seguito.
ufw allow ssh
ufw allow http
ufw allow https
Ora attiva il firewall e abilitalo all'avvio ogni volta all'avvio.
ufw enable
Digita 'y' e premi Invio per confermare.
Il firewall UFW è attivato e la porta HTTP e HTTPS è ora accessibile dalla rete esterna.
Fase 6 - Test
- Test utilizzando cURL
Testare la vernice usando il comando curl, così possiamo vedere le intestazioni HTTP dal server.
curl -I hakase-labs.co
E otterrai il risultato dell'intestazione HTTP "Via:1.1 paint-v4" come mostrato di seguito.
- Test utilizzando il browser web
Apri il tuo browser web e digita il seguente URL o indirizzo del server. Il mio è: http://hakase-labs.co
Assicurati di ottenere la pagina predefinita di Nginx come di seguito.
- Testare il registro della vernice
Varnish fornisce alcuni comandi per la gestione e la visualizzazione dei registri. Useremo 'varnishncsa' per ottenere il registro di accesso alla vernice.
varnishncsa
E otterrai il risultato come mostrato di seguito.
L'installazione e la configurazione della vernice come proxy inverso per il server Web Nginx sono state completate.