Vai al contenuto

Magento 2: Come renderlo veloce con Varnish Cache

Realizzare ed ottimizzare un ecommerce in Magento 2 è molto spesso una sfida ardua. Per loro complessità, i siti web e gli ecommerce realizzati con Magento 2 sono molto spesso lenti. Varnish Cache può velocizzare qualsiasi sito web in Magento 2. Vediamo come farlo su hosting plesk.

Come prima cosa sul nostro pannello Plesk dobbiamo aver installato Docker.

In questo caso abbiamo usato l’immagine million12/varnish. Dopo aver attivato il container Docker abbiamo bisogno di configurarlo.

Impostazioni container Docker

Docker Varnish Magento2
  1. Diamo un nome al container es (Varnish)
  2. Settiamo il limite di memoria di cui potrà usufruire
  3. Abilitiamo il riavvio automatico dopo il riavvio del sistema
  4. Settiamo manualmente l’intervallo di porte. Per esempio 80 – 32780
  5. Dobbiamo mappare il volume in cui inseriremo anche il nostro file di configurazione. Per esempio se stiamo configurando il dominio “miodomino.com” potremo mappare il volume da “/etc/varnish” a “/var/www/vhosts/miodominio.com/VarnishConfDir” dove “VarnishConfDir” è la cartella in cui inseriremo la configurazione.

A questo punto possiamo settare le VARIABILI GLOBALI. Troveremo la variabile PATH ed ELASTIC_CONTAINER già configurate. Aggiungiamo le seguenti variabili:

VCL_CONFIG che indica il path del file di configurazione.

/etc/varnish/default.vcl

CACHE_SIZE diamo un valore alla dimensione della cache per esempio

2GB

VARNISHD_PARAMS che conterrà una serie di parametri per esempio

-p default_ttl=14400 -p default_grace=14400 -p http_resp_hdr_len=90536 -p http_req_size=64000 -p http_resp_size=120536 -p workspace_client=256k -p workspace_backend=256k

Configurazione Plesk

Occorre per il dominio che su cui stiamo tendando di configurare Varnish, di disattivare il Redirect SEO Sicuro Permanente, possiamo farlo andando sulle impostazioni del nostro dominio e rimuovendo il redirect da http a https.

Come seconda cosa, occorre modificare iptables. Entrando da ssh possiamo digitare il seguente codice tenendo in considerazione la porta.. ( In questo caso abbiamo dato 7080 perchè sarà la porta che configureremo sul nostro backend in Magento 2 ).

iptables -I INPUT -p tcp --dport 7080 -s 172.17.0.0/24 -j ACCEPT

Configurazione Magento 2

Per completare la configurazione di Varnish cache, scarichiamo il file di configurazione da Magento 2 che ricordiamo si trova in Negozi->Configurazione -> Avanzate ->Sistema e posizionamolo nella cartella VarnishConfDir che abbiamo precedentemente creato. Prima del download, nel pannello di amministrazione di Magento 2 possiamo inserire una serie di parametri come la lista degli ip che possono sovrascrivere la configurazione, gli indirizzi ip del nostro backend, la porta di accesso e “Grace period” che indica il numero di secondi per cui il contenuto della cache risulta valido.

configurazione varnish magento2

Ci rimane da modificare il file env di Magento 2. Rechiamoci su app/etc/env.php ed aggiungiamo il seguente snippet:

 'http_cache_hosts' => [
        [
            'host' => '127.0.0.1',
            'port' => '7080'
        ]
    ],

questo consentirà a Magento 2 di comunicare con Varnish.