Caché de Redis para WordPress con Nginx en Ubuntu
Recientemente he habilitado el caché de Redis para en el servidor donde tengo ubicada la página web. Por lo que os voy a explicar mi experiencia de cómo configurar el caché de Redis para WordPress, en un servidor web con Nginx, sobre un servidor con Ubuntu.
Está guía debería servir para las versiones, tanto de Ubuntu 18.04, 20.04 y 22.04, si no es así me lo podéis hacer ver en los comentarios.
Como siempre voy a utilizar mi VPS, en mi proveedor de confianza Clouding.io
Caché de Redis para WordPress con Nginx en Ubuntu
Antes de nada, debemos cumplir con una serie de requisitos, como tener instalado un servidor LEMP, además de WordPress, sobre un servidor con Ubuntu, a partir de la versión 18.04. Recomendado también que no utilicemos el usuario de root, sino un usuario diferente con permisos de administrador.
1. Instalar Redis
Esta parte es bastante sencilla. Simplemente debemos actualizar los repositorios e instalar:
sudo apt update sudo apt install redis-server php-redis
Después, debemos reiniciar tanto PHP FPM como Nginx:
sudo systemctl restart php7.4-fpm sudo nginx -s reload
2. Configurar Redis como caché
Editamos el fichero de configuración de Redis ubicado en “/etc/redis/redis.conf”
sudo vim /etc/redis/redis.conf
Y añadimos justo al final del fichero:
maxmemory 256mb maxmemory-policy allkeys-lru
El parámetro “maxmemory” lo debemos adaptar a nuestras necesidades y a la capacidad del servidor, según la memoria RAM disponible.
Una vez hecho esto, guardamos, salimos y reiniciamos:
sudo systemctl restart redis-server
3. Configurar el caché de Redis en WordPress
Debemos editar el fichero “wp-config.php” ubicado en la carpeta de configuración de WordPress, y añadir estas líneas al final de la sección “Authentication Unique Keys and Salts”
define('WP_CACHE', true); define('WP_CACHE_KEY_SALT', ‘ochobitshacenunbyte.com');
Hay que tener en cuenta que podemos dejar el valor “WP_CACHE_KEY_SALT” con cualquier cadena que queramos, pero debemos ser única por cada sitio Wodpress del servidor. La forma adecuada es utilizar un nombre de dominio.
4. Instalar el Plugin Redis Object Cache
Ahora nos toca irnos a la web de WordPress, y marchar al apartado “Plugin” y “Añadir nuevo”. Aquí, en el buscador, debemos encontrar el complemento “Redis Object Cache” e instalarlo y habilitarlo.
Una vez hecho esto, debemos copiar el fichero “object-cache.php” desde el directorio del complemento “wp-content/plugins/redis-cache/includes/object-cache.php” al directorio “wp-content”
cp /directorio-del-proyecto/wp-content/plugins/redis-cache/includes/object-cache.php /directorio-del-proyecto/wp-content/
5. Corregir algunas cosas
El complemento “Redis Object Cache” almacena en caché el resultado de la función “wp_load_alloptions()”. De esta forma ayudará a mejorar el rendimiento de nuestro sitio web, pero existe el problema de que puede terminar con una condición incorrecta, al actualizar sus opciones. Por lo que, cuando queramos actualizar nuestra configuración de WordPress, es posible que no se reflejen los cambios de inmediato, incluso que no se guarden.
La solución para eso es agregar el siguiente script en el archivo «functions.php«
function vultr_maybe_clear_alloptions_cache( $option ) { if ( ! wp_installing() ) { $alloptions = wp_load_alloptions(); if ( isset( $alloptions[ $option ] ) ) { wp_cache_delete( 'alloptions', 'options' ); } } } add_action( 'added_option', 'vultr_maybe_clear_alloptions_cache' ); add_action( 'updated_option', 'vultr_maybe_clear_alloptions_cache' ); add_action( 'deleted_option', 'vultr_maybe_clear_alloptions_cache' );
Ahora este script eliminará la memoria caché de asignaciones cada vez que se agregue, actualice o elimine una opción.
6. Probar la configuración
Lo primero es probarla desde la propia web, desde “Ajustes” y “Redis”, en el área de administración. Ahí se mostrará si todo marcha bien.
También podemos utilizar las herramientas de línea de comandos:
redis-cli monitor
Si aparecen registros y cambian a medida que navegamos, eso significa que todo ha ido bien y que WordPress conectó correctamente con Redis. De esta manera ya podemos disfrutar del aumento de rendimiento al usar Redis como caché.
7. Fuentes consultadas
Vultr.com – How to Setup Redis Caching for WordPress with Ubuntu 20.04 and Nginx