L'amministrazione dei servizi web oggigiorno è un compito elementare nella gestione di un server. Ecco perché ci sono sempre strumenti che ci aiutano con il compito. Uno di questi è l'accelerazione del server web, qualcosa che sembra fondamentale ai nostri tempi. Per aiutarti è che questo post esiste in modo che tu possa installare e configurare Varnish su Ubuntu 20.04.
Cos'è Varnish?
Secondo il sito web di Varnish:
Varnish Cache è un acceleratore di applicazioni Web noto anche come proxy inverso HTTP di memorizzazione nella cache. Lo installi davanti a qualsiasi server che parla HTTP e lo configura per memorizzare nella cache i contenuti. Varnish Cache è davvero molto veloce. In genere accelera la consegna con un fattore da 300 a 1000 volte, a seconda dell'architettura
Una delle caratteristiche chiave di Varnish Cache, oltre alle sue prestazioni, è la flessibilità del suo linguaggio di configurazione, VCL. VCL consente di scrivere criteri su come devono essere gestite le richieste in entrata. In tale norma puoi decidere quali contenuti vuoi pubblicare , da dove vuoi ottenere il contenuto e come modificare la richiesta o la risposta.
Un altro aspetto interessante è che Varnish è open source rilasciato sotto la licenza di FreeBSD. Questo progetto è nato nel 2005 quindi ha una lunga traiettoria che gli ha permesso di fare esperienza.
Quindi Varnish è uno strumento molto utile per i nostri server web e soprattutto quando dobbiamo affrontare molto traffico.
Installa e configura Varnish su Ubuntu 20.04
Varnish è molto flessibile ed è per questo che può essere configurato sia in Nginx che in Apache. Essendo quest'ultimo, l'attuale scelta per essere molto popolare.
Primo passaggio:installa e configura Apache
Il primo passo è installare Apache su Ubuntu 20.04 e poi fare alcune configurazioni per configurarlo con Varnish.
Quindi, in un ambiente a riga di comando, aggiorna prima il sistema operativo.
sudo apt update
sudo apt upgrade
Successivamente, installa Apache dal repository ufficiale di Ubuntu 20.04.
sudo apt install apache2
Se il tuo server è in esecuzione dietro un firewall, assicurati di aprire le porte Apache.
sudo ufw allow http
sudo ufw allow https
Ora devi cambiare la porta che Apache usa di default che è 80
per questo è necessario modificare il ports.conf
file.
sudo nano /etc/apache2/ports.conf
E cerca la linea Listen e imposta un'altra porta. In questo caso, sceglierò 8080
Listen 8080
Salva le modifiche e chiudi l'editor.
Ora devi fare lo stesso nel file di configurazione di Virtualhost predefinito:
sudo nano /etc/apache2/sites-available/000-default.conf
E sostituisci la linea VirtualHost con questa:
<VirtualHost *:8080>
Salva le modifiche e chiudi il file.
Ricorda che ogni volta che aggiungi un nuovo VirtualHost devi cambiare la porta nel suo file di configurazione.
Puoi testare la sintassi delle configurazioni per errori:
sudo apachectl configtest
Syntax OK
Infine, per applicare le modifiche, riavvia Apache.
sudo systemctl restart apache2
Ora andiamo a Vernice
Secondo passaggio:installa Varnish su Ubuntu 20.04
Varnish è disponibile nei repository ufficiali di Ubuntu, quindi l'installazione è abbastanza facile da eseguire.
Quindi, per installare Varnish, esegui il seguente comando:
sudo apt install varnish
Puoi avviare il servizio e abilitarne l'esecuzione all'avvio del sistema
sudo systemctl start varnish
sudo systemctl enable varnish
Dopodiché, devi eseguire alcune configurazioni per farlo funzionare con Apache.
Quindi, Varnish usa VCL per le sue configurazioni, quindi dobbiamo modificare il file di configurazione predefinito.
Prima di questo, fai un backup:
cd /etc/varnish/
sudo cp default.vcl default.vcl.bak
sudo nano default.vcl
E all'interno della sezione predefinita del back-end, assicurati che abbia la seguente configurazione:
backend default { .host = "127.0.0.1"; .port = "8080"; }
Come puoi notare, stiamo indicando che sarà in ascolto sulla porta 8080
su localhost su Apache.
Ed è anche necessario apportare modifiche in un altro file di configurazione:
cd /etc/default/
sudo nano varnish
Nella sezione non commentata di DAEMON_OPTS
cambia la porta di ascolto e lasciala come segue:
DAEMON_OPTS="-a :80 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-S /etc/varnish/secret \
-s malloc,256m"
Salva le modifiche e chiudi il file.
Ora è il momento di fare un'ultima modifica ed è nel file che gestisce il servizio Varnish dove devi modificare la porta di ascolto.
sudo nano /lib/systemd/system/varnish.service
Quindi, individua la riga ExecStart e sostituiscila con questa
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 le modifiche e chiudi il file.
Per applicare le modifiche, aggiorna i servizi Systemd
sudo systemctl daemon-reload
E riavvia Vernice:
sudo systemctl restart varnish
Per verificare che sia tutto a posto devi richiedere il sito web con il comando Curl
curl -I [your-server]
Sostituisci [your-server]
con l'indirizzo IP del tuo server o del dominio. Dovresti ricevere un output simile a questo:
HTTP/1.1 200 OK
Date: Tue, 23 Mar 2021 20:16:57 GMT
Server: Apache/2.4.41 (Ubuntu)
Last-Modified: Tue, 23 Mar 2021 20:02:35 GMT
Vary: Accept-Encoding
Content-Type: text/html
X-Varnish: 2
Age: 0
Via: 1.1 varnish (Varnish/6.2)
ETag: W/"2aa6-5be39a9d0fa0e-gzip"
Accept-Ranges: bytes
Content-Length: 10918
Connection: keep-alive
In questo modo Varnish verrà installato e configurato.
Conclusione
Varnish insieme ad Apache è una buona combinazione che aiuterà il nostro server web a elaborare meglio tutti i siti web che possiamo distribuire. E come abbiamo potuto dimostrare, la configurazione non è una questione complicata.