Apache : mise en cache avec memcached et socache pour WordPress

Apache : mise en cache avec memcached et socache pour WordPressAu mois de janvier 2015, alors que je rencontrais des problèmes de DDoS, je vous faisais part de la nécessité de filtrer les accès à vos  sites par Iptables, par les referer et par les remote host et aussi de bloquer les accès aux pages de commentaires pour certaines machines et certains pays. Sur Internet, le parasitisme est devenu le genre humain ! ;+)

En réalité, la vitesse d’affichage des pages de ce site est surtout due désormais à la mise en œuvre du module socache associé au gestionnaire de mise en mémoire memcached.

Installation de Memcached sous Fedora

A partir de la ligne de commande, installez les paquets memached et libmemcached qui sont dans les dépôts de base de la distribution à l’aide de la commande :

dnf install memcached libmemcached

Une fois installé, vous devez configurer memcached en éditant le fichier /etc/sysconfig/memcached où vous devrez déterminer la taille du cache. 128 Mo peuvent très largement suffire dans un 1er temps ! Dans l’exemple ci-dessous, j’ai également multiplié par le nombre de connexions :

PORT="11211"
USER="memcached"
MAXCONN="8192"
CACHESIZE="128"
OPTIONS="-l 127.0.0.1"

Vous devez ensuite démarrer memcached en tant que service :

systemctl enable memcached
systemctl start memcached

Configuration Apache

Les directives que je vais ici vous présenter ne fonctionne qu’à partir d’Apache 2.4.5.

Vous devez d’abord activer trois modules dont dépendent les directives, en les dé-commentant dans le fichier /etc/httpd/conf.modules.d/00-base.conf :

LoadModule cache_module modules/mod_cache.so
LoadModule cache_socache_module modules/mod_cache_socache.so
LoadModule socache_memcache_module modules/mod_socache_memcache.so

 Pour mes sites WordPress, j’ai ajouté un fichier /etc/httpd/conf.d/07-cache.conf à la configuration du serveur Apache 2.4.6 sous CentOS dont je vous livre le contenu que j’ai ajouté à mes différents fichiers virtual host. La directive CacheEnable ne s’applique pas hélas à un bloc Files ou FilesMatch. Il faudrait utiliser le module mod_file_cache, qui, hélas, n’est toujours pas présent sur Fedora 2è du fait de son caractère expérimental.

<IfModule mod_cache_socache.c>
 CacheSocache memcache:127.0.0.1:11211
 CacheSocacheMaxSize 8388608
 CacheSocacheMaxTime 86400
 CacheSocacheMinTime 14400
 CacheSocacheReadSize 0
 CacheSocacheReadTime 0
 <LocationMatch "/(graphics?|icons?|im(g|ages?))$">
 CacheEnable socache
 </LocationMatch>
 <LocationMatch "/(css|styles?)$">
 CacheEnable socache
 </LocationMatch>
 <LocationMatch "/(js|scripts?)$">
 CacheEnable socache
 </LocationMatch>
 <LocationMatch "/uploads/">
 CacheEnable socache
 </LocationMatch>
 <LocationMatch "/[^/]*fonts?[^/]*/$">
 CacheEnable socache
 </LocationMatch>
 <LocationMatch "/feed/?(atom/?)?$">
 CacheEnable socache
 </LocationMatch>
</IfModule>

J’ai laissé volontairement les deux manières de gérer le cache dans la configuration d’Apache. N’oubliez de recharger la configuration  afin que les modifications effectuées soient prises en charge :

systemctl reload httpd

Vérification de la mise en cache

 Vous pouvez vérifier la présence d’objets partagés présents dans le gestionnaire de mise en cache memcached  à l’aide des commandes suivantes :

memcached-tool 127.0.0.1:11211
memcached-tool 127.0.0.1:11211 stats
memcached-tool 127.0.0.1:11211 dump
memcached-tool 127.0.0.1:11211 display

Apache  / Apache Centos Fedora Formateur Apache Formateur Centos Formateur Fedora Formateur Red Hat Formateur WordPress Formation Apache memcached nginx Red Hat Reverse proxy Wordpress 

Commentaires

Pas encore de commentaire.

Laisser un commentaire

(requis)

(requis)