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, hash, listas, conjuntos, etc. Redis proporciona alta disponibilidad a través de Redis Sentinel, incluido el monitoreo y las notificaciones. Conmutación automática por error. También proporciona particiones automáticas en varios nodos de Redis con Redis Cluster.
Este tutorial explica cómo instalar y configurar Redis en un servidor Debian 9.
Requisitos previos #
Antes de comenzar con el tutorial, asegúrese de haber iniciado sesión como usuario con privilegios de sudo.
Instalando Redis en Debian #
El paquete Redis está incluido en los repositorios predeterminados de Debian 9. La instalación es bastante sencilla, solo siga los pasos a continuación:
-
Comience actualizando la lista de paquetes apt emitiendo el siguiente comando:
sudo apt update
-
Instale Redis escribiendo:
sudo apt install redis-server
-
Cuando se complete la instalación, el servicio Redis se iniciará automáticamente. Puede comprobar el estado del servicio escribiendo:
sudo systemctl status redis-server
Deberías ver algo como esto:
● redis-server.service - Advanced key-value store Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2018-12-05 08:54:49 PST; 4min 52s ago Docs: http://redis.io/documentation, man:redis-server(1) Main PID: 1569 (redis-server) CGroup: /system.slice/redis-server.service └─1569 /usr/bin/redis-server 127.0.0.1:6379
En este punto, Redis está instalado y ejecutándose en su servidor Debian 9 y puede comenzar a usarlo.
Configure Redis Remote Access #
De forma predeterminada, no se puede acceder a Redis desde una ubicación remota. Puede conectarse al servidor de Redis solo desde 127.0.0.1 (host local), la máquina donde se ejecuta Redis.
Complete los siguientes pasos solo si desea conectarse a su servidor Redis desde hosts remotos. Si está utilizando una configuración de servidor único, donde la aplicación y Redis se ejecutan en la misma máquina, entonces 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 vim /etc/redis/redis.conf
Busque una línea que comience con bind 127.0.0.1
y reemplaza 127.0.0.1
con 0.0.0.0
.
# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES
# JUST COMMENT THE FOLLOWING LINE.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bind 0.0.0.0
Guarde el archivo y cierre el editor.
Reinicie el servicio Redis para que los cambios surtan efecto:
sudo systemctl restart redis-server
Use el siguiente comando para verificar que Redis está escuchando en todas las interfaces en el puerto 6379
:
ss -an | grep 6379
Deberías ver algo como lo siguiente:
tcp LISTEN 0 128 *:6379 *:*
A continuación, deberá agregar una regla de firewall que habilite el tráfico de sus máquinas remotas en el puerto TCP 6379
.
Suponiendo que está utilizando UFW
para administrar su firewall y desea permitir el acceso desde el 192.168.121.0/24
subred, ejecutaría el siguiente comando:
sudo ufw allow proto tcp from 192.168.121.0/24 to any port 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:
redis-cli -h <REDIS_IP_ADDRESS> ping
El comando debe devolver una respuesta de PONG
:
PONG