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)

1
2
sudo yum update
sudo yum groupinstall "Development Tools"

La podéis descargar desde este enlace.

Y seguimos las instrucciones:

1
2
3
4
5
6
$ 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:

1
2
$cd utils
$sudo ./install_server.sh

Los binarios los tenemos compilados en el directorio “src”

1
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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[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:

1
2
3
[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:

1
2
3
4
# 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:

1
systemctl restart redis_6379

Si tenemos el cortafuegos habilitado en el host debemos abrir dicho puerto:

1
2
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.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies