Ricerca nel sito web

Come installare e utilizzare Varnish Cache su Debian 11


Su questa pagina

  1. Requisiti
  2. Installa e configura Apache Web Server
  3. Installa Varnish Server Debian 11
  4. Configura Varnish Server
  5. Configura Varnish per lavorare con Apache
  6. Verifica cache vernice
  7. Conclusione

Varnish Cache è un acceleratore HTTP open source, potente e uno dei più popolari utilizzato da oltre 3,4 milioni di siti Web. Può essere utilizzato come proxy di cache inversa appositamente progettato per siti Web dinamici ad alto traffico. Viene utilizzato per memorizzare nella cache il contenuto davanti al server web. Funziona memorizzando nella cache il contenuto in memoria. Quando un utente richiede una pagina memorizzata nella cache, Varnish serve la copia memorizzata nella cache invece di richiedere ripetutamente la stessa pagina dal server di backend. Molti provider di hosting VPS lo utilizzano come parte del loro stack tecnologico per migliorare le prestazioni del sito web.

Questo post ti mostrerà come installare Varnish Cache con Apache su Debian 11.

Requisiti

  • Un server che esegue Debian 11.
  • Una password di root è configurata sul tuo server.

Installa e configura Apache Web Server

Innanzitutto, dovrai installare il server Web Apache sul tuo server. Puoi installarlo eseguendo il seguente comando:

apt install apache2 -y

Dopo aver installato il server Web Apache, sarà necessario modificare il file di configurazione di Apache e cambiare la porta predefinita in qualcosa di diverso.

nano /etc/apache2/ports.conf

Trova la seguente riga:

Listen 80

E, sostituito con la seguente riga:

Listen 8080

Salva e chiudi il file quando hai finito.

Successivamente, dovrai anche modificare il file di configurazione dell'host virtuale predefinito di Apache e modificare la porta predefinita:

nano /etc/apache2/sites-available/000-default.conf

Trova la seguente riga:

<VirtualHost *:80>

E, sostituito con la seguente riga:

<VirtualHost *:8080>

Salva e chiudi il file, quindi riavvia il servizio Apache per applicare le modifiche:

systemctl restart apache2

Ora puoi controllare la porta di ascolto di Apache usando il seguente comando:

ss -antpl | grep apache2

Dovresti vedere il seguente output:

LISTEN 0      511                *:8080            *:*    users:(("apache2",pid=19315,fd=4),("apache2",pid=19314,fd=4),("apache2",pid=19313,fd=4),("apache2",pid=19312,fd=4),("apache2",pid=19311,fd=4),("apache2",pid=19310,fd=4))

Installa Varnish Server Debian 11

Per impostazione predefinita, l'ultima versione della cache di Varnish non è disponibile nel repository predefinito di Debian. Quindi dovrai aggiungere il repository Varnish ad APT.

Innanzitutto, installa le dipendenze richieste utilizzando il seguente comando:

apt install debian-archive-keyring curl gnupg apt-transport-https -y

Successivamente, aggiungi la chiave Varnish GPG utilizzando il seguente comando:

curl -fsSL https://packagecloud.io/varnishcache/varnish70/gpgkey | gpg --dearmor -o /etc/apt/trusted.gpg.d/varnish.gpg

Quindi, crea un file sorgente di Varnish:

nano /etc/apt/sources.list.d/varnishcache_varnish70.list

Aggiungi la seguente riga:

deb https://packagecloud.io/varnishcache/varnish70/debian/ bullseye main
deb-src https://packagecloud.io/varnishcache/varnish70/debian/ bullseye main

Salva e chiudi il file, quindi aggiorna la cache del repository con il seguente comando:

apt update -y

Successivamente, installa Varnish Cache con il seguente comando:

apt install varnish -y

Dopo aver installato Varnish Cache, avviare il server Varnish utilizzando il seguente comando.

systemctl restart varnish

Puoi anche verificare la versione di Varnish con il seguente comando.

varnishd -V

Otterrai il seguente output.

varnishd (varnish-7.0.3 revision 6a4c6a5c7e66a664b140278c209f0b18c544cab8)
Copyright (c) 2006 Verdens Gang AS
Copyright (c) 2006-2022 Varnish Software

Configura Varnish Server

Successivamente, dovrai modificare il file default.vcl e definire il tuo server di backend:

nano /etc/varnish/default.vcl

Modifica le seguenti righe in base al tuo server di backend:

backend default {
    .host = "127.0.0.1";
    .port = "8080";
}

Salva e chiudi il file quando hai finito.

Configura Varnish per lavorare con Apache

Successivamente, dovrai creare un file di configurazione del servizio personalizzato per Varnish. Puoi crearlo con il seguente comando.

mkdir /etc/systemd/system/varnish.service.d
nano /etc/systemd/system/varnish.service.d/customport.conf

Aggiungi le seguenti righe:

[Service]
ExecStart=
ExecStart=/usr/sbin/varnishd -a :80 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,256m

Salva e chiudi il file, quindi ricarica il demone systemd con il seguente comando:

systemctl daemon-reload

Successivamente, riavvia il servizio Varnish con il seguente comando:

systemctl restart varnish

Ora puoi controllare lo stato di Varnish Cache con il seguente comando:

systemctl status varnish

Dovresti ottenere il seguente output:

? varnish.service - Varnish Cache, a high-performance HTTP accelerator
     Loaded: loaded (/lib/systemd/system/varnish.service; enabled; vendor preset: enabled)
    Drop-In: /etc/systemd/system/varnish.service.d
             ??customport.conf
     Active: active (running) since Fri 2022-12-30 05:31:51 UTC; 9s ago
    Process: 24637 ExecStart=/usr/sbin/varnishd -a :80 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,256m (>
   Main PID: 24638 (varnishd)
      Tasks: 217
     Memory: 132.4M
        CPU: 535ms
     CGroup: /system.slice/varnish.service
             ??24638 /usr/sbin/varnishd -a :80 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,256m
             ??24652 /usr/sbin/varnishd -a :80 -a localhost:8443,PROXY -p feature=+http2 -f /etc/varnish/default.vcl -s malloc,256m

Dec 30 05:31:50 debian11 systemd[1]: Starting Varnish Cache, a high-performance HTTP accelerator...
Dec 30 05:31:51 debian11 varnishd[24638]: Version: varnish-7.0.3 revision 6a4c6a5c7e66a664b140278c209f0b18c544cab8
Dec 30 05:31:51 debian11 varnishd[24638]: Platform: Linux,5.10.0-20-amd64,x86_64,-junix,-smalloc,-sdefault,-hcritbit
Dec 30 05:31:51 debian11 varnishd[24638]: Child (24652) Started
Dec 30 05:31:51 debian11 varnishd[24638]: Child (24652) said Child starts
Dec 30 05:31:51 debian11 systemd[1]: Started Varnish Cache, a high-performance HTTP accelerator.

A questo punto, Varnish è installato ed è in ascolto sulla porta 80. Puoi verificarlo con il seguente comando:

ss -antpl | grep :varnishd

Otterrai il seguente output:

LISTEN 0      1024         0.0.0.0:80         0.0.0.0:*    users:(("cache-main",pid=24652,fd=3),("varnishd",pid=24638,fd=3))                                                                                                        
LISTEN 0      1024       127.0.0.1:8443       0.0.0.0:*    users:(("cache-main",pid=24652,fd=7),("varnishd",pid=24638,fd=7))                                                                                                        
LISTEN 0      10         127.0.0.1:39231      0.0.0.0:*    users:(("varnishd",pid=24638,fd=11))                                                                                                                                     
LISTEN 0      10             [::1]:36395         [::]:*    users:(("varnishd",pid=24638,fd=10))                                                                                                                                     
LISTEN 0      1024            [::]:80            [::]:*    users:(("cache-main",pid=24652,fd=5),("varnishd",pid=24638,fd=5))                                                                                                        
LISTEN 0      1024           [::1]:8443          [::]:*    users:(("cache-main",pid=24652,fd=6),("varnishd",pid=24638,fd=6))                                                                                                        

Verifica cache vernice

A questo punto, la cache di Varnish è installata e funzionante. Ora puoi verificare la cache di Varnish usando il comando CURL:

curl -I http://localhost/

Otterrai la cache di vernice nel seguente output:

HTTP/1.1 200 OK
Date: Fri, 30 Dec 2022 05:33:00 GMT
Server: Apache/2.4.54 (Debian)
Last-Modified: Fri, 30 Dec 2022 04:42:33 GMT
Vary: Accept-Encoding
Content-Type: text/html
X-Varnish: 2
Age: 0
Via: 1.1 varnish (Varnish/7.0)
ETag: W/"29cd-5f1043adffc4c-gzip"
Accept-Ranges: bytes
Connection: keep-alive

Conclusione

Congratulazioni! hai installato con successo Varnish Cache con Apache su Debian 11. Ora puoi utilizzare Varnish cache come server front-end per accelerare il tempo di caricamento del sito web. Non esitate a chiedermi se avete domande.