Redis es un almacén de datos de clave-valor en memoria de código abierto. Se puede usar como base de datos, caché y agente de mensajes y admite varias estructuras de datos, como cadenas, hashes, listas, conjuntos y más. Redis proporciona alta disponibilidad a través de Redis Sentinel y partición automática en varios nodos de Redis con Redis Cluster.
Esta guía cubre la instalación y configuración de Redis en CentOS 8.
Instalando Redis en CentOS 8 #
La versión 5.0.x de Redis está incluida en los repositorios predeterminados de CentOS 8. Para instalarlo ejecute los siguientes comandos como root o usuario con privilegios sudo:
sudo dnf install redis-server
Una vez completada la instalación, habilite e inicie el servicio Redis:
sudo systemctl enable --now redis
Para verificar si el servidor Redis se está ejecutando, escriba:
sudo systemctl status redis
● redis.service - Redis persistent key-value database
Loaded: loaded (/usr/lib/systemd/system/redis.service; enabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/redis.service.d
└─limit.conf
Active: active (running) since Sat 2020-02-08 20:54:46 UTC; 7s ago
Eso es todo. Tiene Redis instalado y ejecutándose en su servidor CentOS 8.
Configure Redis Remote Access #
De forma predeterminada, Redis no permite conexiones remotas. Puede conectarse al servidor de Redis solo desde 127.0.0.1 (host local), la máquina donde se ejecuta Redis.
Si está utilizando una configuración de un solo servidor, donde el cliente que se conecta a la base de datos también se ejecuta en el mismo host, no debe habilitar el acceso remoto.
Para configurar Redis para aceptar conexiones remotas, abra el archivo de configuración de Redis con su editor de texto:
sudo nano /etc/redis.conf
Localice la línea que comienza con bind 127.0.0.1
y agregue la dirección IP privada de su servidor después de 127.0.0.1
.
bind 127.0.0.1 192.168.121.233
Asegúrate de reemplazar 192.168.121.233
con su dirección IP. Guarde el archivo y cierre el editor.
Reinicie el servicio Redis para que los cambios surtan efecto:
sudo systemctl restart redis
Usa el siguiente ss
comando para verificar que el servidor Redis está escuchando en su interfaz privada en el puerto 6379
:
ss -an | grep 6379
Deberías ver algo como lo siguiente:
tcp LISTEN 0 128 192.168.121.233:6379 0.0.0.0:*
tcp LISTEN 0 128 127.0.0.1:6379 0.0.0.0:*
A continuación, deberá configurar su cortafuegos para habilitar el tráfico en el puerto TCP 6379
.
Por lo general, querrá permitir el acceso al servidor de Redis solo desde una dirección IP o rango de IP específico. Por ejemplo, para permitir conexiones solo desde 192.168.121.0/24
, ejecute los siguientes comandos:
sudo firewall-cmd --new-zone=redis --permanent
sudo firewall-cmd --zone=redis --add-port=6379/tcp --permanent
sudo firewall-cmd --zone=redis --add-source=192.168.121.0/24 --permanent
sudo firewall-cmd --reload
Los comandos anteriores crean una nueva zona llamada redis
, abre el puerto 6379
y permite el acceso desde la red privada.
En este punto, el servidor Redis aceptará conexiones remotas en el puerto TCP 6379.
Asegúrese de que su firewall esté configurado para aceptar conexiones solo de rangos de IP de confianza.
Para verificar que todo esté configurado correctamente, puede intentar hacer ping al servidor Redis desde su máquina remota usando redis-cli
utilidad que proporciona una interfaz de línea de comandos a un servidor Redis:
redis-cli -h <REDIS_IP_ADDRESS> ping
El comando debe devolver una respuesta de PONG
:
PONG