Tutoriels

Optimisation de WordPress avec Redis sur Debian

Redis est un système de gestion de base de données clef-valeur scalable. Il utilise une technologie dite NoSQL pour vous fournir de plus grandes performances. Nous allons donc voir comment améliorer la vitesse de chargement d’un site hébergé sous WordPress avec Redis.

Installation et configuration de Redis

La première chose à faire sur notre serveur est d’installer le serveur Redis, son client ainsi que l’extension pour PHP 7.

apt install redis-server redis-client php7.0-redis

Ensuite, il nous faut adapter le fichier de configuration pour qu’il corresponde au mieux à ce que l’on veut.

vim /etc/redis/redis.conf

Et ajoutez-y les valeurs suivantes

maxmemory 256mb # Mémoire maximum que peut utiliser Redis
maxmemory-policy allkeys-lru # Redis remplacera les clés les plus anciennes pour garder en mémoires les données les dernières données utilisées

Pour ajouter un peu de sécurité à votre serveur Redis, nous ajouterons cette ligne à notre fichier de configuration

requirepass PASSWORD

Ajout à WordPress

Pour que notre WordPress puisse communiquer avec Redis, nous avons deux possibilités :

  • Soit, nous utilisons à script de mise en cache.
  • Soit, nous ajoutons un plugin pour pouvoir le gérer plus facilement.

Ajout via le script

Nous allons ici télécharger le fichier php qui nous permettra dira à notre WordPress d’aller cherche le cache Redis.

wget https://github.com/ericmann/Redis-Object-Cache/raw/master/object-cache.php
mv object-cache.php /cheminversvotresite/wp-content.php

Ajout via le plugin

Le plugin vous permettra d’activer ou désactiver Redis ainsi que vider le cache beaucoup plus facilement. Pour l’installer, cliquez sur le lien ci dessous, téléchargez le plugin et installez le sur votre site.

[appbox wordpress redis-cache]

Modification de la configuration de WordPress

Il ne nous reste plus qu’à modifier le fichier de configuration de notre site WordPress (wp-config.php) pour qu’il puisse se connecter à notre serveur Redis.

vim /cheminversvotresite/wp-config.php

Ajouter maintenant les valeurs suivantes juste en dessous de la configuration de « Authentication Unique Keys and Salts »

define('WP_REDIS_HOST', '127.0.0.1');
define('WP_REDIS_PORT', '6379');
define('WP_REDIS_PASSWORD', 'VOTRE-PASSWORD');
define('WP_CACHE_KEY_SALT', 'domain.tld');

WP_CACHE_KEY_SALT doit être unique. Cet identifiant est très important si vous hébergez plusieurs sites sur votre serveur.

Redémarrage des services et vérification du fonctionnement

Notre configuration étant maintenant terminée, il ne nous reste plus qu’à redémarrer les services liés à cette nouvelle configuration.

systemctl restart redis-server

systemctl restart php7.0-fpm && systemctl restart nginx

Si vous avez utilisé le plugin pour rendre compatible votre WordPress, n’oubliez pas de l’activer et de mettre la mise en cache en route.

Vérifions maintenant que tout fonctionne en lançant la commande suivante.

redis-cli -a PASSWORD monitor

Si tout se passe bien, vous devriez voir apparaitre des lignes comme celles-ci.

1488145123.737596 [0 127.0.0.1:56738] "GET" "rewopit.netrwp_:site-transient:update_plugins"
1488145123.737860 [0 127.0.0.1:56738] "GET" "rewopit.netrwp_:site-transient:et_update_all_plugins"
1488145123.741648 [0 127.0.0.1:56738] "GET" "rewopit.netrwp_:site-transient:et_update_all_plugins"
1488145123.741771 [0 127.0.0.1:56738] "GET" "rewopit.netrwp_:site-transient:update_themes"
1488145123.741881 [0 127.0.0.1:56738] "GET" "rewopit.netrwp_:site-transient:et_update_themes"
1488145123.742021 [0 127.0.0.1:56738] "GET" "rewopit.netrwp_:site-options:1:notoptions"
1488145123.744119 [0 127.0.0.1:56738] "GET" "rewopit.netrwp_:site-transient:update_core"
1488145123.744356 [0 127.0.0.1:56738] "GET" "rewopit.netrwp_:site-transient:et_update_all_plugins"
1488145123.751765 [0 127.0.0.1:56738] "GET" "rewopit.netrwp_:site-transient:et_update_all_plugins"
1488145123.752114 [0 127.0.0.1:56738] "GET" "rewopit.netrwp_:transient:jetpack_https_test"
1488145123.752354 [0 127.0.0.1:56738] "GET" "rewopit.netrwp_:transient:rop_remote_calls"

Conclusion

Notre site WordPress est maintenant configuré pour utiliser le cache Redis. Le gain de performance se fait clairement ressentir au chargement des pages. Cette configuration est assez simple à mettre en place si vous disposez de votre propre serveur. Nous vous conseillons donc de le faire!

Related posts

Remplacer Edge et Bing pour la recherche Cortana

Edouard Patout

Tuto : certificat SSL gratuit avec Let’s Encrypt

Edouard Patout

LSCI #1 : sauvegarder son serveur avec Backup-Manager

Edouard Patout

Leave a Comment

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More