Varnish Cache è un potente acceleratore di applicazioni Web gratuito, open source progettato per siti Web dinamici ad alto carico. La Varnish Cache si trova dietro il server Web e può velocizzare il tuo sito Web di un fattore compreso tra circa 300 e 1000 volte. Può essere utilizzato anche come bilanciatore del carico se si eseguono più server. Varnish Cache funziona memorizzando nella cache le pagine Web richieste e servendo una pagina richiesta senza il ritardo della creazione di contenuti da zero quando le stesse informazioni vengono richieste più volte.
In questo tutorial, ti mostreremo come configurare Varnish Cache come server proxy per Nginx su Ubuntu 18.04 VPS.
Prerequisiti
- Un nuovo VPS Ubuntu 18.04 sulla piattaforma Atlantic.Net Cloud.
- Una password di root impostata sul tuo server.
Fase 1:crea un server cloud Atlantic.Net
Per prima cosa, accedi al tuo server Atlantic.Net Cloud. Crea un nuovo server, scegliendo Ubuntu 18.04 come sistema operativo con almeno 2GB di RAM. Collegati al tuo Cloud Server tramite SSH e accedi utilizzando le credenziali evidenziate in alto nella pagina.
Dopo aver effettuato l'accesso al tuo server Ubuntu 18.04, esegui il seguente comando per aggiornare il tuo sistema di base con gli ultimi pacchetti disponibili.
apt-get update -y
Passaggio 2:installa Varnish Cache
apt-get install varnish -y
Al termine dell'installazione, il servizio di cache di Varnish è stato avviato automaticamente. Puoi controllare lo stato del servizio Varnish con il seguente comando:
systemctl status varnish
Dovresti ottenere il seguente output:
Puoi anche verificare la versione installata di Varnish con il seguente comando:
varnishd -V
Dovresti vedere il seguente output:
netstat -ant
Dovresti vedere il seguente output:
Fase 3 – Installa e configura Nginx
In questa sezione, installeremo e configureremo Nginx in modo che si trovi dietro il server della cache di Varnish. Per impostazione predefinita, Nginx funziona sulla porta 80, quindi dovrai configurare Nginx per l'ascolto sulla porta 8088.
Innanzitutto, installa il server web Nginx con il seguente comando:
apt-get install nginx -y
Dopo aver installato il server web Nginx, modifica il file di configurazione dell'host virtuale predefinito di Nginx:
nano /etc/nginx/sites-available/default
Cambia la porta predefinita da 80 a 8088, come mostrato di seguito:
server { listen 8088 default_server; listen [::]:8088 default_server; root /var/www/html; index index.html index.htm index.nginx-debian.html; server_name _; location / { try_files $uri $uri/ =404; } }
Nota:assicurati di aver eliminato o commentato tutte le voci predefinite nei file, assicurati che solo il contenuto di cui sopra sia salvato. In caso contrario, il servizio nginx si rifiuterà di avviarsi
Salva e chiudi il file quando hai finito. Quindi, riavvia il servizio Nginx per applicare la configurazione:
systemctl restart nginx
Passaggio 4:configurare la cache di vernice
Successivamente, dovrai configurare Varnish per utilizzare la porta 80 in modo che possa instradare il traffico al server Web Nginx tramite il server cache di Varnish.
Puoi farlo modificando il file /lib/systemd/system/varnish.service:
nano /lib/systemd/system/varnish.service
Modifica la porta predefinita di vernice da 6081 a 80 come mostrato di seguito:
[Unit] Description=Varnish HTTP accelerator Documentation=https://www.varnish-cache.org/docs/4.1/ man:varnishd [Service] Type=simple LimitNOFILE=131072 LimitMEMLOCK=82000 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 ExecReload=/usr/share/varnish/varnishreload ProtectSystem=full ProtectHome=true PrivateTmp=true PrivateDevices=true [Install] WantedBy=multi-user.target
Salva e chiudi il file quando hai finito. Quindi, ricarica systemd daemon con il seguente comando:
systemctl daemon-reload
Successivamente, dovrai configurare Nginx come server back-end per Varnish. Puoi farlo modificando il file /etc/varnish/default.vcl:
nano /etc/varnish/default.vcl
Cambia la porta da 8080 a 8088, come mostrato di seguito:
backend default { .host = "127.0.0.1"; .port = "8088"; }
Salva e chiudi il file quando hai finito.
Nota :Sostituisci 127.0.0.1 con l'indirizzo IP del tuo server Nginx se il tuo server web Nginx è installato sull'altro host.
Infine, riavvia il server della cache di Varnish con il seguente comando:
systemctl restart varnish
Passaggio 5:verifica Varnish Cache Server
A questo punto, la cache di Varnish è configurata per funzionare con il server web Nginx. È ora di provarlo.
Puoi controllare la cache di Varnish con il comando curl come mostrato di seguito:
curl -I your-server-ip
Dovresti ottenere il seguente output:
HTTP/1.1 200 OK Server: nginx/1.14.0 (Ubuntu) Date: Sun, 01 Dec 2019 06:46:18 GMT Content-Type: text/html Last-Modified: Sun, 01 Dec 2019 06:41:28 GMT ETag: W/"5de36098-264" Vary: Accept-Encoding X-Varnish: 32770 3 Age: 17 Via: 1.1 varnish (Varnish/5.2) Accept-Ranges: bytes Connection: keep-alive
L'output sopra indica chiaramente che stai utilizzando il server Nginx con Varnish Cache.
Puoi anche verificare le statistiche di memorizzazione nella cache di Varnish con il seguente comando:
varnishstat
Dovresti vedere la seguente schermata:
Puoi anche vedere la classifica delle voci di registro di Varnish con il seguente comando:
varnishtop
Uscita:
In caso di problemi con la cache di Varnish, puoi controllare il registro di Varnish con i seguenti comandi:
tail -f varnishncsa.log
Conclusione
Congratulazioni! Hai installato e configurato correttamente il server Varnish Cache con Nginx su Ubuntu 18.04 VPS. Puoi fare riferimento alla documentazione di Varnish per ottimizzare la tua configurazione in base alle tue esigenze.