Búsqueda de sitios web

Cómo instalar el servidor Redis en sistemas basados en CentOS y Debian


Redis es un almacén de estructura de datos en memoria (formato clave-valor) flexible, de alto rendimiento y de código abierto 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 tipo Unix, incluido Linux (recomendado para implementación) sin dependencias externas.

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

Características de Redis:

  • 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 distintos niveles 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 replicación asincrónica maestro-esclavo de configuración trivial.
  • Admite 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.

Requisitos:

  1. Un servidor CentOS 7 y un servidor RHEL 7 con instalación mínima
  2. Un servidor Ubuntu o 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 el código fuente (que es el método recomendado) en Linux. También mostraremos cómo configurar, administrar y proteger Redis. Dado que Redis proporciona todos los datos desde la memoria, recomendamos encarecidamente utilizar un servidor VPS con alta memoria con esta guía.

Paso 1: instalar el servidor Redis desde el código 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 los fines 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 la plantilla del archivo de configuración de Redis 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: crear el archivo de unidad Redis Systemd

7. Ahora necesita crear un archivo de unidad systemd para redis para poder 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 iniciar 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 bien. Para interactuar con el servidor redis, utilice 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á almacenada 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 eliminar de la siguiente manera:

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

Paso 5: Proteger el servidor Redis en Linux

12. Esta sección está destinada a usuarios que desean 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 firewall
  • establecer directiva de enlace para la interfaz de bucle invertido: 127.0.0.1
  • establezca la opción requirepass para que los clientes deban autenticarse mediante el comando AUTH.
  • Configure 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 en 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 idea, utilice el formulario de comentarios a continuación.