Como instalar REDIS para usar con WordPress y el plugin W3 Total Cache

Como instalar REDIS en Debian para usar con W3 Total Cache de WordPress

En esta entrada aprenderemos a instalar la popular base de datos noSQL Redis en un servidor Debian Stretch Linux, para ser usada como banco de cache en un sitio web realizado en WordPress, en el cual a su vez usaremos el también muy popular plugin W3 Total Cache conocido por ser la solución favorita para apoyar en la optimización de sitios realizados en WordPress.

Podría parecer una solución compleja por que intervienen en ella distintas tecnologías, que quizás amedrenten a quienes estén iniciando en este mundo de Servidores Linux, despliegue de sitios web con WordPress y administración de bases de datos (en este caso una del tipo noSQL). Pero en realidad es una combinación muy favorable para obtener el mejor rendimiento cuando tenemos un sitio web con wordpress y acceso a la administración del servidor que le da el hospedaje web.

Optimizar y mejorar el rendimiento de un sitio web pasa por muchos elementos a evaluar y tareas a realizar, de las cuales muchas de ellos van incluso mas allá del propio ámbito de la pagina o sistema web. En la actualidad todo sitio web hay que realizarle trabajo técnico para que logre el mayor desempeño posible.

Uno a los puntos de mayor interés en la actualidad a la hora de mejorar la rapidez y desempeño de un sitio web que administremos sera usar cache para que los recursos de la pagina web en cuestión puedan ser entregados a cada visitante de la pagina con mayor celeridad.

Recordando que el cache es una solución para almacenar y entregar al solicitante de un servicio web los recursos de manera mas rápida, generalmente se logra colocando todo lo que previsible-mente un usuario necesitara directamente en memoria ram del servidor, para así disminuir notablemente consultas a disco duro por medio de consulta de archivos (html, css, js, documentos, imágenes), base de datos ó el propio servidor web para acceder a los archivos php si fuera el caso, como lo será en esta entrada.

Entonces manos a la obra a crear nuestra solución de mejora de desempeño para nuestras paginas web en wordpress.

 

1 – Instalaremos Redis y el soporte de PHP para usar el mismo

Lo primero que debemos hacer es instalar Redis y el soporte de Redis para PHP en el servidor.

Asumimos que ya tiene un sitio web funcional en wordpress, alojado en un server Linux donde se ejecuta su servidor web apache y el lenguaje de programación PHP. La practica de esta entrada fue realizada en un Linux Debian 9 Stretch, por lo cual deberá funcionar prácticamente igual el cualquier distribución de linux derivada como Ubuntu y de manera similar en otras variantes de Linux como Centos, redhat, etc…

Si quieres conocer todo sobre Redis, la base de datos noSQL revisa la entrada: Redis – Tu base de datos libre en memoria

Para instalar Redis haremos lo siguiente estando como root:

#aptitude install php7.1-redis redis-server

Estoy corriendo la versión 7.1 de PHP por lo cual el conector para redis que me interesa instalar sera el php7.1-redis

Puedes realizar una búsqueda de las opciones disponibles con la siguiente instrucción:

#aptitude search php |grep redis

p libphp-predis – Flexible and feature-complete PHP client library for the Redis key-value store
p php-nrk-predis – Flexible and feature-complete PHP client library for the Redis key-value store
i php-redis – PHP extension for interfacing with Redis
p php-redis-dbgsym – debug symbols for php-redis
v php5.6-redis –
v php7.0-redis –
v php7.1-redis –
v php7.2-redis –
v php7.3-redis –

Luego sera necesario reiniciar el servidor web para que php entienda que ahora tiene soporte para Redis.

#/etc/init.d/apache2 restart

 

2 – Instalar el plugin de wordpress W3 Total Cache

W3 Total Cache es la mejor y más completa solución para optimizar el rendimiento de sitios web en WordPress. Es un plugin de wordpress con años de desarrollo, que cuenta con el respeto de la comunidad de wordpress y extendido uso en las plataformas que hospedan y dan soporte a wordpress.

Instalar el plugin w3 total cache para WordPress

En esta entrada asumimos que sabe instalar plugines de wordpress, pero si no basta con decir que se dirija al menú de WordPress Plugins -> Añadir y en el campo de búsqueda coloque w3 total cache

Luego le aparecerá dicho plugin como resultado de la búsqueda, dar clic en instalar y luego en activar.

install w3 total cache redis wordpress linux debian

install w3 total cache redis wordpress linux

 

Podremos ir al lista de plugins instalados y verificar su instalación

w3 total cache plugin wordpress

 

3 – Configurar W3 Total Cache

Para ello en el menú lateral izquierdo de wordpress iremos a la opción de menú Rendimiento y luego a Ajustes Generales

En esta interfaz de ajustes generales tendremos la opción de ir configurando uno a uno todos los elementos posibles a ser cacheados disponibles gracias a w3 total cache. Por lo cual nosotros también iremos uno a uno.

– Activar Cache de Página

La cache de páginas reduce el tiempo de respuesta de tu sitio web y aumenta la escala del servidor web.

w3-total-cache redis wordpress debian php

 

– Activar Cache de Bases de Datos

La cache de bases de datos, reduce el tiempo de creación y lectura de entradas, páginas y feed.

base de datos cache w2 total cache redis wordpress

 

-Activar cache de objetos

La caché de objetos aumenta mucho el rendimiento de sitios muy dinámicos. Activa el cacheado de objetos para reducir aún más el tiempo de ejecución de operaciones comunes.

object cache w3 total cache redis wordpress

– Activar fragmentos de cache

 

fragment cache w3 total cache wordpress

PD: Si no les mostrara habilitada la opción de Redis en el combo desplegable como en la siguiente imagen:

wordpress w3 total cache redis disabled no habilitado

Pueden ser dos posibles causas o errores de omisión:

Uno: Que no reinicio el servicio de apache en el punto 1, por lo cual php no se ha enterado que puede hablar con redis

Dos: Que instalo una versión del driver de Redis incorrecto, es decir para una versión de PHP que no es la que esta ejecutando su servicio de apache. Siempre podrá verificar que versión de php esta interpretando su servidor web creando un archivo info.php por ejemplo e imprimir la función de php phpinfo();

 

 

4 – Verificar el funcionamiento de redis

En este punto realice una verificación mínima y rápida, apoyándome en el uso del log de redis y de un comando para consultar la información sobre el uso de memoria de redis en el servidor, en dos tiempos: Antes de haber configurado w3 total cache para usar redis y después de haber navegado totalmente por toda la pagina web donde realice la práctica para esta entrada donde aparte de mis propias visitas en el momento, hubieron algunas pocas visitas adicionales.

– Revisar los logs de redis

Los log de redis se encuentran en: /var/log/redis/redis-server.log

Podrán evaluar los logs en el terminal linux de esta manera

#tail -f /var/log/redis/redis-server.log

o estas:

less /var/log/redis/redis-server.log ó cat /var/log/redis/redis-server.log

3928:M 15 Jan 00:42:54.549 * The server is now ready to accept connections on port 6379
3928:M 15 Jan 00:59:09.423 * 1 changes in 900 seconds. Saving…
3928:M 15 Jan 00:59:09.424 * Background saving started by pid 4127
4127:C 15 Jan 00:59:09.425 * DB saved on disk
4127:C 15 Jan 00:59:09.425 * RDB: 0 MB of memory used by copy-on-write
3928:M 15 Jan 00:59:09.524 * Background saving terminated with success

redis log debian

Antes de configurar el plugin para que wordpress use Redis

 

redis logs debian linux

Después de configurar w3 total cache y de haber navegado por la página web

 

– Evaluar el peso o llenado de la base de datos Redis

El comando redis-cli realmente es un cliente de redis minimalista con todo lo que puedas necesitar para usar redis. Aquí solo nos limitaremos a ver la información de memoria.

#redis-cli INFO Memory

uso de memoria de redis debian linux

Para más información del parámetro INFO de Regis hacer clic.

Recomendaciones finales sobre wordpress y redis

  • Cuando esta realizando cambios de plantillas y estructura general del sitio siempre sera buena idea limpiar el cache para evitar inconvenientes de realizar cambios y no verlos en el sitio web.

empty cache wordpress redis

  • WordPress es ampliamente usado, muchas instalaciones están realizadas en hosting compartidos en los cuales no habrá la posibilidad de tener Redis como solución de cache. En estos casos el Plugin W3 Total Cache te permite usar archivos en disco duro para el Cache
  • Otra solución ampliamente usada como cache para sistemas web y en especial en wordpress es Memcached. Funciona muy bien, si algo impide o limita el uso de Redis, memcached sera una solución de lujo. Incluso siempre ha existido el debate de que es mejor si Redis o Memcached.
  • En mi experiencia en la opcion de minificar el js, css y html que ofrece el plugin no siempre ha funcionado perfecto. La variedad de themas y plugines en muchos casos es una ventaja, pero para los efectos de este punto es causante de conflictos en algunos plugin o themes, que al minificar podría causar desfases o perdida de funcionalidad. Solo es cuestión de probar si algo no va bien, se desmarca la opción y se limpia cache.
  • Si quieres entender mas sobre redis revisa mi articulo: Redis – Tu base de datos libre en memoria, donde doy una reseña general incluyendo configuarcion y pruebas con lenguaje de programación Perl

También te podría gustar...

3 Respuestas

  1. Salvador Portal dice:

    Muy buen aporte!

  2. dionis hernandez dice:

    sabes más que un pescado frito amigo, sigue así

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *