GNU/Linux >> Linux Esercitazione >  >> Linux

Come ottimizzare la memorizzazione nella cache di file statici Apache su Ubuntu 18.04

Questa guida mostra come configurare correttamente le impostazioni di scadenza dell'intestazione con Apache, ottimizzando le prestazioni del server web nel servire file statici, come immagini, file CSS o JavaScript.

Verrà salvata molta larghezza di banda sul tuo server, impostando una data minima per la memorizzazione nella cache del file. Di conseguenza, utilizzando la cache del browser client, i siti Web ospitati verranno caricati più velocemente.

Per prima cosa, connettiti al tuo server tramite una connessione SSH. Se non l'hai ancora fatto, ti consigliamo di seguire la nostra guida per connetterti in modo sicuro con SSH. Nel caso di un server locale, vai al passaggio successivo e apri il terminale del tuo server.

Abilitazione dei moduli necessari

Per abilitare l'invio degli Header necessari, abilita prima il relativo modulo Apache:

$ sudo a2enmod expires

E poi riavvia il servizio:

$ sudo service apache2 restart 

Configurazione del modulo

La configurazione del modulo può essere inserita in:

  • In configurazione Apache:sarà ereditato da tutti i siti controllati da Apache (host virtuali e non virtuali)

  • In un contenitore host virtuale

  • All'interno della direttiva o del file .htaccess

Nell'esempio seguente è inserita nella configurazione di default del sito:

$ sudo vim /etc/apache2/sites-available/000-default.conf

Quindi aggiungi la seguente configurazione:

<IfModule mod_expires.c>

          <FilesMatch "\.(jpe?g|png|gif|js|css)$">

                      ExpiresActive On

                      ExpiresDefault "access plus 1 week"

          </FilesMatch>

</IfModule>

Attraverso la direttiva FilesMatch vengono specificati i file che devono essere conservati dal browser del client (in questo caso css, jpg, png, gif e js).hile, tramite ExpiresDefault, per quanto tempo devono essere conservati (in questo esempio, una settimana) per viene indicata.

Per applicare le modifiche, riavvia Apache:

$ sudo service apache2 restart 

Oltre al metodo FilesMatch e ExpiresDefault, ExpiresByType può essere utilizzato per impostare l'intestazione Expires per ogni tipo di file, ad esempio:

<IfModule mod_expires.c>

 ExpiresActive on
 ExpiresByType image/jpg "access plus 60 days"
 ExpiresByType image/png "access plus 60 days"
 ExpiresByType image/gif "access plus 60 days"
 ExpiresByType image/jpeg "access plus 60 days"
 ExpiresByType text/css "access plus 1 days"
 ExpiresByType image/x-icon "access plus 1 month"
 ExpiresByType application/pdf "access plus 1 month"
 ExpiresByType text/javascript "access plus 1 week"

</IfModule>

Utilizzando questo metodo è possibile ottenere un controllo più granulare sulla durata della cache e la memorizzazione nella cache dei dati Ajax, non inserendo l'applicazione/javascript di tipo mime.

Per entrambe le direttive la sintassi per indicare la durata della cache è la stessa, ovvero:

“[base] plus [valore] [tipo] [valore] [tipo] [valore] [tipo] …”

Il valore di base può essere:

  • accesso:data richiesta cliente

  • modifica:data di modifica del file

Mentre il tipo può avere i seguenti valori:

  • anni:anni

  • mesi:mesi

  • settimane:settimane

  • giorni:giorni

  • ore:ore

  • minuti:minuti

  • secondi:secondi

Alcuni esempi di configurazione sono:

# One year cache expiry 
ExpiresByType image/jpeg "access plus 1 year"

#Furthermore, more than one unit of measurement in sequence can be added. For example:

# Set 1-month, 15- day and 2-hour expiry
ExpiresByType text/html "access plus 1 month 15 days 2 hours"

# Cache expiry from the file modification date more than 5 hours and 3 minutes 
ExpiresByType image/gif "modification plus 5 hours 3 minutes"

Per favore, ricorda che se devi modificare il contenuto di un file memorizzato nella cache, quest'ultimo non verrà scaricato dai client fino allo scadere del tempo di memorizzazione nella cache. Ciò potrebbe causare malfunzionamenti sui tuoi siti web.

Sebbene i client non possano essere obbligati a ignorare la cache precedentemente salvata, è possibile utilizzare diverse tecniche per evitare questo problema.

Un metodo spesso utilizzato è rinominare il file appena modificato (ad esempio da style.css a style-v2.css) o modificare i collegamenti aggiungendo un numero di versione, ad esempio da:

<script src="https://www.domain.com/js/myScript1.js"></script>

al seguente:

<script src="https://www.domain.com/js/myScript1.js?v=3.1"></script>

Linux
  1. Ubuntu:come impostare un IP statico in Ubuntu?

  2. Come installare Apache su Ubuntu?

  3. Come ottimizzare la memorizzazione nella cache di file statici Apache su Ubuntu 18.04

  4. Come installare g++ su Ubuntu

  5. Come installare Apache Cassandra su Ubuntu 20.04

Come configurare gli host virtuali Apache su Ubuntu 18.04

Come estrarre un file RAR su Ubuntu

Come aggiungere un file di scambio su Ubuntu 20.04

Come installare Apache su Ubuntu 20.04

Come installare Apache Subversion su Ubuntu 18.04

Come installare Apache Tomcat su Ubuntu 18.04