Introducción
Redis es un repositorio de estructura de datos en memoria de código abierto. Se puede utilizar como base de datos, caché y intermediario de mensajes y admite diversas estructuras de datos como cadenas, hashes, listas, conjuntos, etc. Redis proporciona alta disponibilidad a través de Redis Sentinel, incluida la supervisión y las notificaciones automáticas de conmutación por error. También proporciona particiones automáticas en varios nodos de Redis con Redis Cluster.
Este tutorial describe cómo instalar y configurar Redis en un servidor Ubuntu 18.04. Las mismas instrucciones se aplican a Ubuntu 16.04 y cualquier distribución basada en Ubuntu.
Prerrequisitos
Antes de comenzar con el tutorial, asegúrese de haber iniciado sesión como usuario con privilegios de sudo.
Si su intención es instalar Redis en un servidor remoto, continúe leyendo; de lo contrario, omita el primer párrafo "Conexión al servidor" y lea el siguiente.
Conexión al servidor
Para acceder al servidor, necesita conocer la dirección IP. También necesitará su nombre de usuario y contraseña para la autenticación. Para conectarse al servidor como root, escriba el siguiente comando:
ssh root@IP_DEL_SERVER
A continuación, deberá ingresar la contraseña del usuario root.
Si no está utilizando el usuario root, puede iniciar sesión con otro nombre de usuario utilizando el mismo comando, luego cambie root a su nombre de usuario:
ssh nome_utente@IP_DEL_SERVER
Luego se le pedirá que ingrese su contraseña de usuario.
El puerto estándar para conectarse a través de ssh es 22, si su servidor usa un puerto diferente, deberá especificarlo usando el parámetro -p, luego escriba el siguiente comando:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Instalar Redis en Ubuntu
El paquete Redis se incluye en los repositorios predeterminados de Ubuntu 18.04. La instalación es bastante simple, solo siga los pasos a continuación:
Comience por actualizar la lista de paquetes de apt ejecutando el siguiente comando en su terminal SSH:
sudo apt update
Instale Redis escribiendo:
sudo apt install redis-server
Una vez que se complete la instalación, el servicio Redis se iniciará automáticamente. Para verificar el estado del servicio, ingrese el siguiente comando:
sudo systemctl status redis-server
Debería 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 Sun 2018-10-28 05:10:45 PDT; 2h ago
Docs: http://redis.io/documentation,
man:redis-server(1)
Process: 2197 ExecStop=/bin/kill -s TERM $MAINPID (code=exited, status=0/SUCCESS)
Process: 2201 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS)
Main PID: 2226 (redis-server)
Tasks: 4 (limit: 2319)
CGroup: /system.slice/redis-server.service
`-2226 /usr/bin/redis-server 0.0.0.0:6379
El servicio Redis no se iniciará si IPv6 está deshabilitado en el servidor.
Felicitaciones, en este punto tiene Redis instalado y ejecutándose en su servidor Ubuntu 18.04.
Configurar el acceso remoto de Redis
De forma predeterminada, Redis no permite conexiones remotas. Solo puede conectarse al servidor de Redis desde 127.0.0.1 (localhost), la máquina en la que se ejecuta Redis.
Proceda de la siguiente manera solo si desea conectarse al 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 computadora, no necesita habilitar el acceso remoto.
Para configurar Redis para que acepte conexiones remotas, abra el archivo de configuración de Redis con su editor de texto:
sudo nano /etc/redis/redis.conf
Encuentre la línea que comienza con bind 127.0.0.1::1
y reemplace 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::1
Guarde y cierre el archivo presionando CTRL + X, seguido de Y para guardar los cambios y luego ENTER si está usando nano.
Reinicie el servicio Redis para que los cambios surtan efecto:
sudo systemctl restart redis-server
Utilice el siguiente comando para verificar que redis esté escuchando en todas las interfaces en el puerto 6379
:
ss -an | grep 6379
Debería ver algo como esto, 0.0.0.0
indica todas las direcciones IPv4 en la máquina.
tcp LISTEN 0 128 0.0.0.0:6379 0.0.0.0:*
tcp LISTEN 0 128 [::]:6379 [::]:*
A continuación, deberá agregar una regla de firewall que habilite el tráfico desde sus computadoras remotas en el puerto TCP 6379
.
Suponiendo que está utilizando UFW
para administrar el firewall y desea permitir el acceso desde la 192.168.121.0/24
, ejecute el siguiente comando:
sudo ufw allow proto tcp from 192.168.121.0/24 to any port 6379
En este punto, el servidor Redis aceptará conexiones remotas en el puerto TCP 6379.
Asegúrese de que el firewall esté configurado para aceptar conexiones solo de rangos de IP confiables.
Para verificar que todo esté configurado correctamente, puede intentar hacer ping al servidor Redis desde su computadora remota usando la utilidad redis-cli
redis-cli -h <REDIS_IP_ADDRESS> ping
El comando debería devolver una respuesta de PONG
:
PONG
Conclusión
Ha instalado Redis con éxito en su servidor Ubuntu 18.04. Para obtener más información sobre cómo administrar la instalación de Redis, visite la página de documentación oficial de Redis.