Come installare e utilizzare Varnish Cache su Debian 11
Su questa pagina
- Requisiti
- Installa e configura Apache Web Server
- Installa Varnish Server Debian 11
- Configura Varnish Server
- Configura Varnish per lavorare con Apache
- Verifica cache vernice
- 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.