Redis es un almacén de estructura de datos clave-valor en memoria de código abierto (licencia BSD) usado como base de datos, caché y agente de mensajes. Redis admite estructuras de datos como cadenas, hashes, listas, conjuntos, conjuntos ordenados con consultas de rango, mapas de bits, registros de hiperregistro, índices geoespaciales y flujos. Redis también proporciona alta disponibilidad con la lógica del software Redis Sentinel, lo que crea particiones automáticas en los nodos de Redis con Redis Cluster.
Al final de la guía, sabrá cómo instalar y configurar Redis en su Ubuntu 20.04 sistema operativo.
Requisitos
- SO recomendado: Ubuntu 20.04 o superior
- Cuenta de usuario: Una cuenta de usuario con sudo o acceso raíz.
Actualizar Sistema Operativo
Actualiza tu Ubuntu sistema operativo para asegurarse de que todos los paquetes existentes estén actualizados:
sudo apt update && sudo apt upgrade -y
El tutorial usará el comando sudo y asumiendo que tiene estado sudo . Para verificar el estado de sudo en su cuenta:
sudo whoami
Ejemplo de salida que muestra el estado de sudo:
[joshua@ubuntu ~]$ sudo whoami
root
Si no ha configurado una cuenta de usuario Sudo y le gustaría hacerlo, visite nuestro tutorial sobre Cómo agregar un usuario a Sudoers en Ubuntu .
Para usar la cuenta raíz , use el siguiente comando con la contraseña de root para iniciar sesión.
su
Instalar Redis
De forma predeterminada, la serie Redis 5 viene incluida en los repositorios de Ubuntu 20.04. Para instalar el servicio Redis, escriba el siguiente comando:
sudo apt install redis-server
Ejemplo de salida:
Escriba “Y”, luego presione “TECLA ENTER” para continuar con la instalación.
Verifique que Redis se instaló correctamente mediante la verificación mediante el comando de política apt-cache:
sudo apt-cache policy redis-server
Ejemplo de salida:
A continuación, verifique el estado y asegúrese de que Redis se esté ejecutando y, lo que es más importante, que no tenga errores:
systemctl status redis-server
Ejemplo de salida:
Tenga en cuenta que Reddis escucha activamente localhost en el puerto 6379 predeterminado . Para confirmar este tipo, lo siguiente:
ps -ef | grep redis
Ejemplo de salida:
joshua@ubuntu:~$ ps -ef | grep redis
redis 8346 1 0 21:40 ? 00:00:00 /usr/bin/redis-server 127.0.0.1:6379
joshua 9058 7363 0 21:40 pts/0 00:00:00 grep --color=auto redis
Ahora, mientras prueba que todo funciona y está operativo, es una buena idea conectarse a su servicio Redis y luego realizar una prueba de ping.
Para realizar la prueba, ingrese el siguiente comando:
redis-cli
Una vez conectado, su terminal mostrará (127.0.0.1:6379 ). Ahora haga ping al servicio Redis de la siguiente manera:
ping
Ejemplo de salida:
127.0.0.1:6379> ping
PONG
Escriba lo siguiente para salir de la instancia de Redis:
exit
Felicitaciones, instaló Redis en su sistema operativo Ubuntu y verificó que está operativo. A continuación, puede configurar Redis.
Cómo configurar Redis
Redis se puede configurar de varias maneras. La acción más notable de por qué las personas usan Redis es para fines de almacenamiento en caché. Para hacer esto, debe abrir el “/etc/redis/redis.conf ” archivo usando el editor nano.
sudo nano /etc/redis.conf
Configurar memoria máxima
Ahora, agregue lo siguiente al final del archivo. Tenga en cuenta que puede cambiar el valor de la memoria a lo que desee o, lo que es más importante, al óptimo para su aplicación web y hardware de servidor.
maxmemory 500mb
maxmemory-policy allkeys-lru
Como puede ver, la configuración de la guía tiene 500 MB dedicados a Redis, ya que está en un host dedicado con mucha RAM de sobra. Una vez que se agotan los 500 MB, Redis elimina cualquier clave según el algoritmo LRU.
Configurar acceso a la red
Otra opción es escuchar todos los servicios o configurar una dirección IP/subred si le gusta su servicio Redis.
Primero, busque la línea 69 en el archivo de configuración.
Primero, para escuchar todas las interfaces de red, comenta "#" la línea enlaza con IP:
Ejemplo:
# bind 127.0.0.1 ::1
Método alternativo:
bind 0.0.0.0/0
Tenga en cuenta que asegúrese de que su red interna sea confiable y de que existan los controles de seguridad adecuados.
Para enlazar a una dirección IP, asegúrese de que sea una dirección IP estática.
Ejemplo:
bind 192.150.5.2
Para vincular una subred de red.
Ejemplo:
bind 192.150.5.0/24
Tenga en cuenta que se recomienda establecer una contraseña cuando use una subred o acceda a todas las interfaces para escuchar.
Configurar contraseña
Otra característica de seguridad y para fortalecer aún más a Redis es establecer una contraseña en la instancia de Redis.
Vaya a la línea 507 y elimine el comentario “# requiredpass” y establezca una contraseña.
Ejemplo:
requiredpass APASSWORD
Asegúrese de que esta contraseña sea robusta, números, letras, símbolos especiales y mayúsculas aleatorias, ya que los servidores de Redis se pueden forzar muy bien en un cuadro decente.
Luego, cuando invoque Redis-CLI, use el siguiente comando con la contraseña que se configuró para el usuario.
Ejemplo:
auth THEPASSWORDSET
"ELCONJUNTO DE CONTRASEÑAS" es la contraseña que se creó.
Cuando un usuario no puede iniciar sesión, verá el siguiente mensaje de error.
(error) NOAUTH Authentication required.
Cuando un usuario inicia sesión correctamente, verá el siguiente mensaje.
OK
Una vez hecho esto, guarde sus cambios CTRL+O luego salga CTRL+X . Ahora reinicie el servicio Redis escribiendo:
sudo systemctl restart redis-server
Configurar reglas de UFW
Si utiliza el cortafuegos UFW instalado de forma predeterminada en las distribuciones de Ubuntu, deberá crear reglas de permiso en el puerto TCP 6379. Según su instalación y los requisitos si utiliza una red singular o en un clúster, a continuación se incluyen algunos ejemplos:
Instancia de servidor IP de red adicional:
sudo ufw allow proto tcp from <ip address> to any port 6379
Red de clúster con muchas instancias:
sudo ufw allow proto tcp from <ip address>/24 to any port 6379
Tenga en cuenta que la segunda regla UFW es una regla de subred. Tenga en cuenta que asegúrese de que la red interna sea segura y confiable antes de permitirla.
Ahora, como probó al comienzo de la guía al hacer ping en su servicio Redis para asegurarse de que estaba operativo, puede probar las reglas del firewall y los cambios en la IP usando “redis-cli” comando:
redis-cli -h <ip address> ping
Si la configuración es correcta, la salida debería ser:
pong