Cómo instalar Redis Server en CentOS y sistemas basados en Debian


Redis es un almacén de estructura de datos en memoria flexible, de alto rendimiento y de código abierto (formato clave-valor), que se utiliza como base de datos, caché y agente de mensajes. Está escrito en ANSI C y se ejecuta en la mayoría, si no en todos, los sistemas operativos similares a Unix, incluido Linux (recomendado para la implementación) sin dependencias externas.

Tiene muchas funciones, admite múltiples lenguajes de programación y estructuras de datos, incluidas cadenas, hashes, listas, conjuntos, conjuntos ordenados con consultas de rango, mapas de bits, entre otros.

  • Admite la mayoría de los lenguajes de programación, incluidos C, Bash, Python, PHP, Node.js, Perl, Ruby, solo por mencionar algunos.
  • Tiene replicación inherente, secuencias de comandos Lua, desalojo de LRU, transacciones y niveles variables de persistencia en el disco.
  • Proporciona alta disponibilidad a través de Redis Sentinel y partición automática a través de Redis Cluster.
  • Admite la ejecución de operaciones atómicas.
  • Funciona con un conjunto de datos en memoria para lograr un rendimiento notable.
  • Admite la replicación asíncrona maestro-esclavo trivial a la configuración.
  • Admite la conmutación por error automática.
  • Le permite guardar el conjunto de datos en el disco con poca frecuencia durante un período de tiempo determinado, o agregando cada comando a un registro.
  • Permite la desactivación opcional de la persistencia.
  • Admite mensajes de publicación/suscripción.
  • También admite transacciones MULTI, EXEC, DISCARD y WATCH y muchas más.

  1. Un servidor RHEL 7 con instalación mínima
  2. Un servidor Debian con instalación mínima
  3. compilador GCC y libc

En este tutorial, proporcionaremos instrucciones sobre cómo instalar un servidor Redis desde la fuente (que es el método recomendado) en Linux. También mostraremos cómo configurar, administrar y proteger Redis. Dado que Redis sirve todos los datos de la memoria, le recomendamos encarecidamente que utilice un servidor VPS de alta memoria con esta guía.

Paso 1: Instale el servidor Redis desde la fuente

1. Primero, instale las dependencias de compilación necesarias.

--------------- On CentOS / RHEL / Fedora --------------- 
# yum groupinstall "Development Tools"
# dnf groupinstall "Development Tools"

--------------- On Debian / Ubuntu --------------- 
$ sudo apt install build-essential

2. A continuación, descargue y compile la última versión estable de Redis usando la URL especial que siempre apunta a la última versión estable de Redis usando el comando wget.

$ wget -c http://download.redis.io/redis-stable.tar.gz
$ tar -xvzf redis-stable.tar.gz
$ cd redis-stable
$ make 
$ make test
$ sudo make install

3. Después de la compilación de Redis, el directorio src dentro de la distribución de Redis se completa con los diferentes ejecutables siguientes que forman parte de Redis:

  • servidor redis - servidor redis.
  • redis-sentinel - ejecutable de redis sentinel (monitoreo y conmutación por error).
  • redis-cli: una utilidad CLI para interactuar con redis.
  • redis-benchmark: se utiliza para comprobar el rendimiento de redis.
  • redis-check-aof y redis-check-dump: útiles en el raro caso de archivos de datos dañados.

Paso 2: configurar el servidor Redis en Linux

4. A continuación, debe configurar Redis para que un entorno de desarrollo sea administrado por el sistema init (systemd para el propósito de este tutorial). Comience creando los directorios necesarios para almacenar los archivos de configuración de Redis y sus datos:

$ sudo mkdir /etc/redis
$ sudo mkdir -p /var/redis/

4. Luego, copie el archivo de configuración de Redis de plantilla proporcionado, en el directorio que creó anteriormente.

$ sudo cp redis.conf /etc/redis/

5. Ahora abra el archivo de configuración y actualice algunas configuraciones de la siguiente manera.

$ sudo vi /etc/redis/redis.conf

6. Luego busque las siguientes opciones, luego cambie (o use) sus valores predeterminados de acuerdo con las necesidades de su entorno local.

port  6379				#default port is already 6379. 
daemonize yes				#run as a daemon
supervised systemd			#signal systemd
pidfile /var/run/redis.pid 		#specify pid file
loglevel notice				#server verbosity level
logfile /var/log/redis.log		#log file name
dir  /var/redis/			#redis directory

Paso 3: Cree el archivo de unidad de Redis Systemd

7. Ahora necesita crear un archivo de unidad systemd para redis con el fin de controlar el demonio, ejecutando el siguiente comando.

$ sudo vi /etc/systemd/system/redis.service

Y agregue la configuración a continuación:

[Unit]
Description=Redis In-Memory Data Store
After=network.target

[Service]
User=root
Group=root
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always
Type=forking

[Install]
WantedBy=multi-user.target

Guarde y cierre el archivo.

Paso 4: administrar y probar el servidor Redis en Linux

8. Una vez que haya realizado todas las configuraciones necesarias, ahora puede iniciar el servidor Redis, por ahora, habilítelo para que se inicie automáticamente al arrancar el sistema; luego vea su estado de la siguiente manera.

$ sudo systemctl start redis
$ sudo systemctl enable redis
$ sudo systemctl status redis

9. A continuación, pruebe si toda la configuración de redis funciona correctamente. Para interactuar con el servidor redis, use el comando redis-cli. Después de conectarse al servidor, intente ejecutar algunos comandos.

$ redis-cli
Test connection to server using ping command:
127.0.0.1:6379> ping
Use the echo command to echo a given string:
127.0.0.1:6379> echo "Tecmint is testing Redis"
You can also set a key value using the set command like this:
127.0.0.1:6379> set mykey "Tecmint is testing Redis"
Now view the value of mykey:
127.0.0.1:6379> get mykey

10. Luego cierre la conexión con el comando exit y reinicie el servidor Redis. Luego, verifique si mykey todavía está almacenado en el servidor como se muestra a continuación:

127.0.0.1:6379> exit
$ sudo systemctl restart redis
$ redis-cli
127.0.0.1:6379> get mykey

11. Para eliminar una clave, utilice el comando de eliminación de la siguiente manera:

127.0.0.1:6379> del mykey
127.0.0.1:6379> get mykey

Paso 5: Asegurar el servidor Redis en Linux

12. Esta sección está destinada a usuarios que tengan la intención de utilizar un servidor redis conectado a una red externa como Internet.

Importante: exponer redis a Internet sin ningún tipo de seguridad hace que sea extremadamente fácil de explotar; por lo tanto, asegure el servidor redis de la siguiente manera:

  • bloquear las conexiones al puerto redis en el sistema con cortafuegos
  • establezca la directiva de enlace en la interfaz de bucle invertido: 127.0.0.1
  • configure la opción requirepass para que los clientes deban autenticarse usando el comando AUTH.
  • configurar el túnel SSL para cifrar el tráfico entre los servidores Redis y los clientes Redis.

Para obtener más información de uso, ejecute el siguiente comando:

$ redis-cli -h

Puede encontrar más comandos del servidor y aprender a usar redis dentro de su aplicación desde la página de inicio de Redis: https://redis.io/

En este tutorial, mostramos cómo instalar, configurar, administrar y proteger Redis en Linux. Para compartir cualquier pensamiento, use el formulario de comentarios a continuación.