GNU/Linux >> Tutoriels Linux >  >> Linux

Comment optimiser la mise en cache des fichiers statiques Apache sur Ubuntu 18.04

Ce guide montre comment configurer correctement les paramètres d'expiration de l'en-tête avec Apache, en optimisant les performances du serveur Web dans le traitement des fichiers statiques, tels que les images, les fichiers CSS ou JavaScript.

Une grande quantité de bande passante sur votre serveur sera économisée, en fixant une date minimale pour la mise en cache du fichier. Par conséquent, en utilisant le cache du navigateur client, les sites Web hébergés se chargeront plus rapidement.

Tout d'abord, connectez-vous à votre serveur via une connexion SSH. Si vous ne l'avez pas encore fait, il est recommandé de suivre notre guide pour vous connecter en toute sécurité avec SSH. Dans le cas d'un serveur local, passez à l'étape suivante et ouvrez le terminal de votre serveur.

Activer les modules nécessaires

Pour activer l'envoi des Headers nécessaires, activez d'abord le module Apache associé :

$ sudo a2enmod expires

Et puis redémarrez le service :

$ sudo service apache2 restart 

Configuration des modules

La configuration du module peut être insérée dans les éléments suivants :

  • En configuration Apache :il sera hérité par tous les sites contrôlés par Apache (hôtes virtuels et non virtuels)

  • Dans un conteneur d'hôte virtuel

  • Dans la directive ou le fichier .htaccess

Dans l'exemple suivant, il est inséré dans la configuration par défaut du site :

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

Ajoutez ensuite la configuration suivante :

<IfModule mod_expires.c>

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

                      ExpiresActive On

                      ExpiresDefault "access plus 1 week"

          </FilesMatch>

</IfModule>

Grâce à la directive FilesMatch, quels fichiers doivent être conservés par le navigateur client (dans ce cas css, jpg, png, gif et js) sont spécifiés.hile, via ExpiresDefault, combien de temps ils doivent être conservés (dans cet exemple, une semaine) pour est indiqué.

Pour appliquer les modifications, redémarrez Apache :

$ sudo service apache2 restart 

En plus des méthodes FilesMatch et ExpiresDefault, ExpiresByType peut être utilisé pour définir l'expiration de l'en-tête pour chaque type de fichier, par exemple :

<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>

En utilisant cette méthode, un contrôle plus granulaire sur la durée du cache peut être obtenu et la mise en cache des données Ajax, en n'insérant pas l'application de type mime/javascript peut être obtenue.

Pour les deux directives, la syntaxe pour indiquer la durée du cache est la même, c'est-à-dire :

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

La valeur de base peut être :

  • accès :date de la demande du client

  • modification :date de modification du fichier

Alors que le type peut avoir les valeurs suivantes :

  • années :années

  • mois :mois

  • semaines :semaines

  • jours :jours

  • heures :heures

  • minutes :minutes

  • secondes :secondes

Quelques exemples de configuration :

# 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"

S'il vous plaît, rappelez-vous que si vous devez modifier le contenu d'un fichier en cache, ce dernier ne sera pas téléchargé par les clients jusqu'à ce que le temps de mise en cache expire. Cela pourrait entraîner des dysfonctionnements sur vos sites Web.

Bien que les clients ne puissent pas être forcés d'ignorer le cache précédemment enregistré, plusieurs techniques peuvent être utilisées pour éviter ce problème.

Une méthode souvent utilisée consiste à renommer le fichier qui vient d'être modifié (par exemple de style.css à style-v2.css) ou à changer les liens en ajoutant un numéro de version, par exemple à partir de :

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

au suivant :

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

Linux
  1. Comment installer Apache sur Ubuntu ?

  2. Comment optimiser la mise en cache des fichiers statiques Apache sur Ubuntu 18.04

  3. Comment auditer l'accès aux fichiers sous Linux

  4. Le temps d'accès au fichier ne se met pas à jour dans Ubuntu 12.04

  5. Comment installer Apache Cassandra sur Ubuntu 20.04

Comment configurer les hôtes virtuels Apache sur Ubuntu 18.04

Comment extraire un fichier RAR sur Ubuntu

Comment ajouter un fichier d'échange sur Ubuntu 20.04

Comment installer Apache sur Ubuntu 20.04

Comment installer Apache Subversion sur Ubuntu 18.04

Comment installer Apache Tomcat sur Ubuntu 18.04