Instalar un servidor Redis en Ubuntu y derivados

Instalar un servidor Redis en Ubuntu, Debian y derivados.

Redis es un almacén de estructura de datos en memoria cache de código abierto, utilizado como servidor de base de datos, caché y agente de mensajes. Admite varias estructuras de datos como por ejemplo, cadenas, hashes, listas, conjuntos, y muchas más.

Implantar tu propio servidor Redis es saltar a un nivel superior, ademas de ofrecer un rendimiento excelente también nos proporciona una alta disponibilidad con Redis Sentinel, monitoreo, notificaciones failover, e incluso el particionado automático de varios nodos.

En este articulo no nos limitaremos a instalar Redis en un servidor que contiene nuestros sitios webs, lo que vamos a realizar es montar un servidor exclusivo para Redis, y que admita las conexiones entrantes de otras maquinas.

 

Instalar un servidor Redis en Ubuntu

Esta herramienta viene en los repositorios de la mayoría de distribuciones linux, así que directamente actualizamos e instalamos Redis.

sudo apt update

sudo apt install redis-server

Una vez instalado, lo iniciamos y habilitamos que arranque con el sistema.
sudo systemctl start redis-server

sudo systemctl enable redis-server

Verificamos su funcionamiento.
sudo systemctl status redis-server

ejemplo de salida correcta…

redis-server.service – Advanced key-value store
      Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
        Active: active (running) since Fri 2019-12-04 19:02:30 CST; 15s ago
           Docs: http://redis.io/documentation,
                      man:redis-server(1)
Main PID: 26589 (redis-server)
        Tasks: 4 (limit: 4674)
    CGroup: /system.slice/redis-server.service
                   └─26589 /usr/bin/redis-server 127.0.0.1:6379

 

Configurar un servidor Redis

Ahora que lo tenemos instalado y verificado, sigue los pasos que te indico para configurar el inicio de sesión remoto y el firewall de Ubuntu.

Como ya comentamos anteriormente, de forma predeterminada Redis no admite el acceso desde una ubicación remota (un servidor, cliente, etc…). El acceso está restringido para su uso exclusivo en el host local, donde instalaste la aplicación (127.0.0.1).

Si tus aplicaciones o sitios web están instalados en el mismo servidor que Redis Server, no necesitas acceso remoto para nada. Si tus requerimientos son superiores debes montar un servidor exclusivo para Redis, sigue los pasos que vemos a continuación para permitir el acceso remoto.

Abrimos el archivo de configuración.

sudo nano /etc/redis/redis.conf

Busca la linea siguiente:
# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES
# JUST COMMENT THE FOLLOWING LINE.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bind 127.0.0.1 ::1

Ahora modifica la linea «bind 127.0.0.1 ::1», tal como te indico.
# 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

Guarda el archivo y cierra el editor.

Reinicia Redis.

sudo systemctl restart redis-server

Por defecto Redis utiliza el puerto «6379», te recomiendo que verifiques si escucha o no.
ss -an | grep 6379

ejemplo de salida…

tcp      LISTEN  0      128      0.0.0.0:6379      0.0.0.0:*
tcp      LISTEN  0      128      [::1]:6379            [::]:*

Si estas ejecutando el firewall UFW puedes conceder permisos a una ip.

sudo ufw allow proto tcp from 192.168.0.56 to any port 6379

Tal vez te interese conceder permisos a una subnet.
sudo ufw allow proto tcp from 192.168.0.0/24 to any port 6379

Una vez concluido todo el proceso te recomiendo que reinicies tu servidor.
reboot

Listo!!!.

 

Espero que este articulo te sea de utilidad, puedes ayudarnos a mantener el servidor con una donación (paypal), o también colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog, foro o redes sociales.

 

Agregar comentario