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 varias estructuras de datos como cadenas, hashes, listas, conjuntos, etc. Redis ofrece alta disponibilidad a través de Redis Sentinel, que incluye supervisión y notificaciones automáticas de conmutación 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 CentOS 7.
Prerrequisitos
Antes de comenzar con el tutorial, asegúrese de haber iniciado sesión como usuario con privilegios de sudo.
Si desea instalar Redis en un servidor remoto, continúe leyendo; de lo contrario, omita el primer párrafo "Conectando 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 usa el usuario root, puede iniciar sesión con otro nombre de usuario usando 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 CentOS 7
El paquete Redis no está incluido en los repositorios CentOS predeterminados. Instalaremos Redis desde el repositorio de Remi.
La instalación es bastante sencilla, solo siga los pasos a continuación:
Comience habilitando el repositorio Remi ejecutando los siguientes comandos en su terminal SSH:
sudo yum install epel-release yum-utils
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum-config-manager --enable remi
Instale el paquete de Redis escribiendo:
sudo yum install redis
Una vez que se complete la instalación, inicie el servicio Redis y habilítelo para que se inicie automáticamente al inicio con:
sudo systemctl start redis
sudo systemctl enable redis
Created symlink from /etc/systemd/system/multi-user.target.wants/redis.service to /usr/lib/systemd/system/redis.service.
Para verificar el estado del servicio, ingrese el siguiente comando:
sudo systemctl status redis
Debería ver algo como lo siguiente:
● 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 Tue 2020-01-28 17:31:09 CET; 1 day 17h ago
Process: 8673 ExecStop=/usr/libexec/redis-shutdown (code=exited, status=0/SUCCESS)
Main PID: 8687 (redis-server)
Tasks: 16 (limit: 12251)
Memory: 318.2M
CGroup: /system.slice/redis.service
├─ 8687 /usr/bin/redis-server 127.0.0.1:6379
├─13037./kinsing3FrCmny908
└─13193 /tmp/kdevtmpfsi
El servicio Redis no se iniciará si IPv6 está desactivado en el servidor.
Felicitaciones, en este punto tiene Redis instalado y ejecutándose en su servidor CentOS 7.
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.conf
Busque la línea que comienza con bind 127.0.0.1
y luego agregue la dirección IP privada de su servidor 127.0.0.1
.
# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES
# JUST COMMENT THE FOLLOWING LINE.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bind 127.0.0.1 192.168.222.222
Asegúrese de reemplazar 192.168.222.222
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
Utilice el ss
comando ss para verificar que el servidor Redis esté escuchando en la interfaz privada en el puerto 6379
:
ss -an | grep 6379
Debería ver algo como a continuación:
tcp LISTEN 0 128 192.168.222.222:6379 *:*
tcp LISTEN 0 128 127.0.0.1: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 FirewallD
para administrar su firewall y desea permitir el acceso desde la 192.168.121.0/24
, ejecutará 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.222.0/24 --permanent
sudo firewall-cmd --reload
Los comandos anteriores crean una nueva zona llamada redis
, abren el puerto 6379
y permiten el acceso desde la red privada.
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 redis-cli
que proporciona una interfaz de línea de comandos a un servidor Redis:
redis-cli -h <REDIS_IP_ADDRESS> ping
El comando debería devolver una respuesta de PONG
:
PONG
Conclusión
Felicitaciones, ha instalado Redis con éxito en su servidor CentOS 7. Para obtener más información sobre cómo usar Redis, visite la página de documentación oficial.