Instalación y configuración de Redis en Centos 7
Sin duda Redis es uno de los productos más populares en lo que respecta a servicios de caché. Pero es mucho más. A nivel técnico podemos decir que es un proyecto de estructura de datos en memoria, que sigue la filosofía del código abierto. Implementa una base de datos distribuida de clave valor en memoria, con durabilidad opcional.
Redis admite diferentes tipos de estructura de datos abstracta, como cadenas, listas, mapas, conjuntos, conjuntos ordenados, mapas de bits, etcétera.
El proyecto está liderado por el desarrollador Salvatore Sanfilippo. Actualmente está patrocinado por Redis Labs y utiliza una licencia BSD
Instalación de Redis en Centos 7
Para el artículo vamos a utilizar Centos en su versión 7
En el artículo nos vamos a distanciar de otros tutoriales al uso y vamos a instalar la última versión estable, descangándola de la web oficial, que a fecha de hoy es la versión 5.0
Pero antes de nada actualizaremos el sistema e instalaremos las herramientas necesarias para poder compilar (recordar que en su día ya os hablé del grupo de paquetes llamado build-essential)
sudo yum update
sudo yum groupinstall "Development Tools"
La podéis descargar desde este enlace.
Y seguimos las instrucciones:
$ wget http://download.redis.io/releases/redis-5.0.0.tar.gz
$ tar xvf redis-5.0.0.tar.gz
$ cd redis-5.0.0
$ make
$ make test
$ sudo make install
Accedemos la carpeta «utils», para así ejecutar el script de instalación para Ubuntu:
$cd utils
$sudo ./install_server.sh
Los binarios los tenemos compilados en el directorio «src»
src/redis-server
Una vez finalizado el proceso de instalación, el servicio queda con el nombre de «redis_6379«,el número se refiere al puerto que hemos definidio para el servicio.
Podemos comprobar su estado:
[root@servcentos2 ~]# systemctl status redis_6379
● redis_6379.service - LSB: start and stop redis_6379
Loaded: loaded (/etc/rc.d/init.d/redis_6379; bad; vendor preset: disabled)
Active: active (running) since lun 2018-11-25 8:41:44 CET; 3min 6s ago
Docs: man:systemd-sysv-generator(8)
Process: 941 ExecStart=/etc/rc.d/init.d/redis_6379 start (code=exited, status=0/SUCCESS)
Tasks: 4
Memory: 7.8M
CGroup: /system.slice/redis_6379.service
└─975 /usr/local/bin/redis-server 127.0.0.1:6379
nov 26 08:41:44 servcentos1 redis_6379[941]: Starting Redis server...
nov 26 08:41:44 servcentos1 systemd[1]: Starting LSB: start and stop redis_6....
nov 26 08:41:44 servcentos1 systemd[1]: Started LSB: start and stop redis_6379.
Hint: Some lines were ellipsized, use -l to show in full.
Podemos comprobar que efectivamente se encuentra escuchando por el puerto correspondiente:
[root@servcentos1 ~]# lsof -i :6379
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
redis-ser 975 root 6u IPv4 25664 0t0 TCP localhost:6379 (LISTEN)
Configurar el servidor Redis para acceso remoto
Por defecto no está habilitado para escuchar las peticiones de servidores remotos. Para cambiar esto debemos modificar el fichero de configuración «/etc/redis/6379.conf» y modificar la siguiente línea:
# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES
# JUST COMMENT THE FOLLOWING LINE.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bind 127.0.0.1 ip-que-queramos-añadir
Una vez hecho esto sólo guardamos los cambios y salimos.
Para que estos cambios sean efectivos debemos reiniciar el servicio:
systemctl restart redis_6379
Si tenemos el cortafuegos habilitado en el host debemos abrir dicho puerto:
firewall-cmd --permanent --add-port=6379/tcp
firewall-cmd --reload
Si no tenemos el cortafuegos habilitado podemos obviar esta parte.
Espero que esta entrada os pueda ser de utilidad en algún momento.
Nos vamos leyendo.