En este tutorial, lo guiaremos a través de las instrucciones paso a paso para instalar Redis (tanto servidor como cliente) en Ubuntu. Luego, verificaremos que se pueda conectar y configuraremos el firewall UFW para permitir las conexiones entrantes.
Requisitos de software y convenciones de la línea de comandos de Linux Categoría | Requisitos, convenciones o versión de software utilizada |
Sistema | Ubuntu Linux |
Software | Redis |
Otro | Acceso privilegiado a su sistema Linux como root o a través de sudo comando. |
Convenciones | # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de sudo comando $ – requiere que los comandos de Linux dados se ejecuten como un usuario normal sin privilegios |
Instalar Cliente Redis en Ubuntu
Lo primero que debemos hacer es instalar Redis abriendo una terminal de línea de comandos y escribiendo el siguiente comando.
Si solo está utilizando su máquina para conectarse a Redis (alojado en otro lugar), solo necesitará instalar el cliente de Redis. Usa este comando:
$ sudo apt install redis-tools
Una vez que se haya instalado, podrá usar el redis-cli
Comando para abrir una terminal Redis a un servidor remoto. Por ejemplo, este sería el comando utilizado para conectarse a un servidor Redis con nombre de host redis-ubuntu
. Tenga en cuenta que también usamos el comando ping para verificar la conectividad.
$ redis-cli -h redis-ubuntu
redis-ubuntu:6379> ping
PONG
redis-ubuntu:6379>
Hacer ping a Redis en Ubuntu
Si el servidor Redis no está usando el puerto predeterminado, puede especificar un puerto en su redis-cli
comando con -p
opción, así:
$ redis-cli -h redis-ubuntu -p 1234
En caso de que reciba un mensaje de error de "conexión rechazada", le daremos algunos consejos para solucionar problemas más adelante en este artículo.
Could not connect to Redis at redis-ubuntu:6379: Connection refused
Instalar servidor Redis en Ubuntu
Si planea alojar un servidor Redis, necesitará el paquete del servidor. Esto también instalará automáticamente el paquete de cliente de Redis. Usa este comando en la terminal:
$ sudo apt install redis-server
Puede verificar que Redis está instalado en un sistema y verificar la versión instalada con el siguiente comando:
$ redis-server -v
Redis server v=5.0.7 sha=00000000:0 malloc=jemalloc-5.2.1 bits=64 build=636cde3b5c7a3923
Además, puede usar el comando ss para confirmar que Redis está escuchando la conexión entrante en su puerto predeterminado de 6379
:
$ ss -nlt
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 5 127.0.0.1:631 0.0.0.0:*
LISTEN 0 511 127.0.0.1:6379 0.0.0.0:*
LISTEN 0 4096 127.0.0.53%lo:53 0.0.0.0:*
LISTEN 0 5 [::1]:631 [::]:*
LISTEN 0 511 [::1]:6379 [::]:*
De forma predeterminada, el servidor Redis se iniciará automáticamente cuando se reinicie el sistema. Puede cambiar este comportamiento utilizando el comando systemctl de systemd. También puede usarlo para verificar el estado actual de Redis.
$ sudo systemctl disable redis-server #disable Redis from starting up automatically
$ sudo systemctl enable redis-server #enable Redis to start up automatically
$ systemctl status redis-server #check the current status of Redis server
De forma predeterminada, el servidor Redis solo escuchará en la interfaz de loopback local 127.0.0.1
, lo que significa que no acepta conexiones remotas. Puede configurar Redis para escuchar en una interfaz de red diferente, o en todas las interfaces de red, abriendo el archivo conf de Redis con nano o su editor de texto favorito:
$ sudo nano /etc/redis/redis.conf
Para permitir que Redis escuche en todas las interfaces de red, simplemente comente la siguiente línea insertando un #
anterior. :
bind 127.0.0.1 ::1
Comente esta línea para que Redis escuche en todas las interfaces
Hay otra línea que necesitaremos cambiar si queremos que Redis acepte conexiones remotas. Encuentra el protected-mode
parte del archivo de configuración y cámbielo a esto:
FROM:
protected-mode yes
TO:
protected-mode no
Desactivar el modo protegido
Guarde sus cambios en este archivo y ciérrelo. Asegúrese de reiniciar Redis para que los cambios surtan efecto:
$ sudo systemctl restart redis-server
Ahora debería ver que Redis está escuchando en 0.0.0.0
, que representa todas las interfaces de red.
$ ss -nlt
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 5 127.0.0.1:631 0.0.0.0:*
LISTEN 0 511 0.0.0.0:6379 0.0.0.0:*
LISTEN 0 4096 127.0.0.53%lo:53 0.0.0.0:*
LISTEN 0 5 [::1]:631 [::]:*
LISTEN 0 511 [::]:6379 [::]:*
Lo último que debe hacer para aceptar conexiones entrantes es permitir el puerto 6379
a través del cortafuegos UFW.
$ sudo ufw allow from any to any port 6379 proto tcp
Rules updated
Rules updated (v6)
El servidor Redis ahora debería aceptar conexiones entrantes.
Conclusión
En esta guía, aprendimos cómo instalar el cliente y el servidor de Redis en Ubuntu Linux. También vimos cómo configurar el servidor Redis para escuchar las conexiones entrantes en todas las interfaces de red, así como también cómo hacer una excepción de firewall para Redis en UFW. Ahora debería poder alojar Redis para clientes remotos o usar el cliente de Redis para conectarse a otros servidores.