Cómo instalar el servidor Redis en CentOS 8

Redis es un almacén de claves y valores en memoria, gratuito y de código abierto, que admite diferentes tipos de estructuras de datos. Puedes utilizarlo como base de datos, caché, corredor de mensajes y cola. Se utiliza para construir aplicaciones web de alto rendimiento y escalables. Soporta una amplia gama de lenguajes de programación como Java, PHP, C, Perl, Python, C#, Lua, Go y muchos más. Es multiplataforma y funciona en la mayoría de los sistemas operativos basados en Unix, como Linux, *BSD y OS X.

En este tutorial, explicaremos cómo instalar Redis en un servidor CentOS 8.

Requisitos previos

  • Un servidor que ejecute CentOS 8.
  • Una contraseña de root configurada el servidor.

Instalar el servidor Redis

Por defecto, el paquete Redis está disponible en el repositorio por defecto de CentOS 8. Puedes instalarlo ejecutando el siguiente comando:

dnf install redis -y

Después de instalar el servidor Redis, inicia el servicio Redis y habilítalo para que se inicie al reiniciar el sistema con el siguiente comando:

systemctl start redis
systemctl enable redis

También puedes verificar el estado del servidor Redis con el siguiente comando:

systemctl status redis

Deberías obtener la siguiente salida:

   Loaded: loaded (/usr/lib/systemd/system/redis.service; disabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/redis.service.d
           ??limit.conf
   Active: active (running) since Tue 2020-09-15 04:52:54 EDT; 6s ago
 Main PID: 3076 (redis-server)
    Tasks: 4 (limit: 12527)
   Memory: 6.6M
   CGroup: /system.slice/redis.service
           ??3076 /usr/bin/redis-server 127.0.0.1:6379

Sep 15 04:52:54 centos8 systemd[1]: Starting Redis persistent key-value database...
Sep 15 04:52:54 centos8 systemd[1]: Started Redis persistent key-value database.

Por defecto, Redis escucha en el puerto 6379. Puedes comprobarlo con el siguiente comando:

ss -ant | grep 6379

Deberías obtener la siguiente salida:

LISTEN     0        128             127.0.0.1:6379              0.0.0.0:*       

A continuación, comprueba la conectividad de Redis con el siguiente comando:

redis-cli

Deberías ver la siguiente salida:

127.0.0.1:6379>

Ahora, ejecuta el siguiente comando para comprobar la conectividad:

127.0.0.1:6379> ping

Deberías ver la siguiente salida:

PONG

Configurar la caché de Redis

A continuación, tendrás que configurar Redis como servidor de caché. Puedes hacerlo editando el archivo de configuración de Redis:

nano /etc/redis.conf

Añade las siguientes líneas al final del archivo:

maxmemory 128mb
maxmemory-policy allkeys-lru

Guarda y cierra el archivo cuando hayas terminado. A continuación, reinicia el servicio Redis con el siguiente comando:

systemctl restart redis

Asegurar el servidor Redis

Por defecto, redis-cli te permite ejecutar cualquier comando dentro del shell de Raedis. Por lo tanto, es una buena idea asegurar el shell de Redis con la contraseña. Puedes activar la autenticación con contraseña editando el archivo /etc/redis.conf:

nano /etc/redis.conf

Busca la siguiente línea:

# requirepass foobared

Y, sustitúyela por la siguiente línea:

requirepass A&#9D3Fs4%#df

Guarda y cierra el archivo cuando hayas terminado. A continuación, reinicia el servicio Redis para aplicar los cambios de configuración:

systemctl restart redis

Ahora, conéctate a Redis con el siguiente comando:

redis-cli

Una vez conectado, ejecuta el siguiente comando:

127.0.0.1:6379> INFO server

Obtendrás el siguiente error porque no te has autenticado.

NOAUTH Authentication required.

Ahora, ejecuta el siguiente comando para autenticarte con la contraseña especificada en el archivo de configuración de Redis:

127.0.0.1:6379> AUTH A&#9D3Fs4%#df

Deberías ver la siguiente salida:

OK

Ahora, ejecuta el siguiente comando:

127.0.0.1:6379> INFO server

Deberías obtener la siguiente salida:

# Server
redis_version:5.0.3
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:28849dbea6f07cc8
redis_mode:standalone
os:Linux 4.18.0-193.14.2.el8_2.x86_64 x86_64
arch_bits:64
multiplexing_api:epoll
atomicvar_api:atomic-builtin
gcc_version:8.3.1
process_id:3176
run_id:2bf42acb9a0c0f251220c9bf5d66982b1c0b1d87
tcp_port:6379
uptime_in_seconds:41
uptime_in_days:0
hz:10
configured_hz:10
lru_clock:6324712
executable:/usr/bin/redis-server
config_file:/etc/redis.conf

Cuando hayas terminado, puedes pasar al siguiente paso.

Cambiar el nombre del comando peligroso

También se recomienda cambiar el nombre de algunos comandos peligrosos dentro del shell de Redis. Uno de los comandos peligrosos es «config». Se utiliza para recuperar la contraseña de Redis.

Veamos cómo recuperar la contraseña de Redis con el comando «config».

Primero, conéctate a Redis con el siguiente comando:

redis-cli

Una vez conectado, autentifica Redis con el siguiente comando:

127.0.0.1:6379> AUTH A&#9D3Fs4%#df

A continuación, recupera la contraseña de Redis con el siguiente comando:

127.0.0.1:6379> config get requirepass

Deberías obtener la contraseña de Redis en la siguiente salida:

1) "requirepass"
2) "A&#9D3Fs4%#df"

Puedes cambiar el nombre del comando «config» editando el archivo /etc/redis.conf:

nano /etc/redis.conf

Busca la siguiente línea:

# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52

Y, sustitúyela por la siguiente línea:

rename-command CONFIG hitredis

Guarda y cierra el archivo. A continuación, reinicia el servicio Redis con el siguiente comando

systemctl restart redis

Ahora, conéctate y autentifica el Redis con el siguiente comando

redis-cli
127.0.0.1:6379> AUTH A&#9D3Fs4%#df

Ahora, recupera la contraseña de Redis con el comando «config»:

127.0.0.1:6379> config get requirepass

Deberías obtener el siguiente error:

(error) ERR unknown command `config`, with args beginning with: `get`, `requirepass`, 

Ahora, ejecuta el comando renombrado como se muestra a continuación:

127.0.0.1:6379> hitredis get requirepass

Deberías obtener la contraseña de Redis en la siguiente salida:

1) "requirepass"
2) "A&#9D3Fs4%#df"

Conclusión

Enhorabuena! has instalado y asegurado con éxito el servidor Redis en CentOS 8. Ahora puedes alojar tu aplicación y configurarla para que utilice la caché de Redis. No dudes en preguntarme si tienes alguna duda.

También te podría gustar...