Como instalar Redis en Ubuntu 16.04

como instalar redis en ubuntu server 16.04 lts

Redis es una herramienta para agilizar el tiempo de respuesta de un sitio web cuando se está trabajando con sitios con muchas visitas. Redis es una base de datos en memoria un tanto particular y aquí vamos a ver como instalar Redis en Ubuntu 16.04.

Como instalar Redis en Ubuntu 16.04

Como lo dice en la definición de wikipedia, Redis es un motor de base de datos en memoria, basado en el almacenamiento en tablas de hashes (que tienen una relación clave/valor) pero que puede ser usada como una base de datos durable o persistente lo que lo hacer bastante interesante.

Hay dos formas de Instalar Redis en Ubuntu Server 16.04 o en la versión de escritorio si estas probando, si lo deseas puedes instalarlo desde los repositorios de Ubuntu o puedes hacer una instalación manual desde el código fuente para tener las versión más actualizada.

como instalar redis en ubuntu server 16.04 lts

Instalar Redis desde los Repositorios de Ubuntu

Para instalar Redis desdes los repositorios no necesitas seguir una gran cantidad de pasos, en realidad es bastante sencillo y rápido ya que los paquetes entregan un entorno preconfigurado de propósito general que cubrirá en general las necesidades de cualquier proyecto.

Para instalar Redes en Ubuntu 16.04 desde los repositorios solo necesitas hacer una actualización de la lista de paquetes e instalar este servicio. Puedes hacerlo ejecutando estos comandos:

sudo apt update
sudo apt install redis-server

Luego se debe configurar para que se inicie el servicio al arrancar el sistema

sudo systemctl enable redis-server

Ahora puedes verificar que el servicio funciona, la forma de hacerlo está al final del post.

Instalarla versión mas reciente Redis desde el código fuente en Ubuntu

Hacer la instalación desde el código fuente puede tener varias ventajas, una de ellas es que se puede tener más control sobre la configuración de este servicio. Para realizar la instalación se debe descargar los archivos necesario y también se debe satisfacer algunos requisitos que puedes cumplir al instalar los paquetes built-essential y tcl

sudo apt-get install build-essential tcl

Descargar Redis Estable

Para descargar la mas reciente versión de Redis solo hay que acceder a la URL de Descarga de la versión estable que es: http://download.redis.io/redis-stable.tar.gz y puedes descargarla con el comando curl.

cd /tmp
curl -O http://download.redis.io/redis-stable.tar.gz

Luego solo tienes que descomprimir el archivo y acceder al directorio redis-estable

tar xzvf redis-stable.tar.gz
cd redis-stable

Compilar Redis desde los archivos fuentes.

Compilar Redis desde los archivos fuente no es tan complicado, en general se tiene que hacer 3 comandos para esta tarea y aquí te los describo. Primero debes ejecutar make estando dentro del directorio redis-stable

make

Luego tienes que hacer una verificación de la configuración que ha realizado make.

make test

Si todo funciona bien y no te muestra errores entonces puedes instalar el software así:

sudo make install

Configurar Redis en Ubuntu 16.04

Para configurar Redis se debe copiar el archivo redis.conf, para esto, primero crearemos el directorio.

sudo mkdir /etc/redis

Ahora copiaremos el archivo mencionada a esta ubicación

sudo cp /tmp/redis-stable/redis.conf /etc/redis

Ahora es necesario modificar este archivo, localiza a lo largo del texto los encabezados que se muestra y configura la linea que se indica al final de cada uno

sudo nano /etc/redis/redis.conf

Este es el primer bloque de texto que se refiere a como interactua Redis con el sistema, como es un servidor Ubuntu 16.04 se debe indicar systemd como se muestra en la ultima linea de este bloque.

# If you run Redis from upstart or systemd, Redis can interact with your
# supervision tree. Options:
#   supervised no      - no supervision interaction
#   supervised upstart - signal upstart by putting Redis into SIGSTOP mode
#   supervised systemd - signal systemd by writing READY=1 to $NOTIFY_SOCKET
#   supervised auto    - detect upstart or systemd method based on
#                        UPSTART_JOB or NOTIFY_SOCKET environment variables
# Note: these supervision methods only signal "process is ready."
#       They do not enable continuous liveness pings back to your supervisor.
supervised systemd

El otro bloque se refiere a un directorio donde se van a almacenar los archivos de la base de datos. Este no debe ser accesible por otros usuarios o desde internet. Para esto se ha seleccionado el directorio /var/lib/redis

# The working directory.
#
# The DB will be written inside this directory, with the filename specified
# above using the 'dbfilename' configuration directive.
#
# The Append Only File will also be created inside this directory.
#
# Note that you must specify a directory here, not a file name.
dir /var/lib/redis

Asegúrate de guardar los cambios al momento de salir del editor nano.

Crear el archivo unit de Redis  para systemd

El archivo unit sirve para que el sistema init pueda gestionar el proceso de Redis. Para crear este archivo debes usar el comando nano para editar este archivo y al grabarlo se creará. Utiliza este comando:

sudo nano /etc/systemd/system/redis.service

Dentro del archivo debes ingresar el texto siguiente:

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

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

[Install]
WantedBy=multi-user.target

Debes grabar los cambios en este archivo para que se pueda inicializar el servicio cuando arranque el sistema y que se pueda gestionar con el comando systemctl.

Crear el usuario, grupo y directorio de Redis

Ahora debes crear los elementos para que pueda operar lo que has configurado, uno de esos elementos es el directorio que se configuró en el archivo /etc/redis/redis.conf en la variable dir. Puedes crear ese directorio con el siguiente comando:

sudo mkdir /var/lib/redis

El siguiente paso es crear un usuario para redis que no directorio home.

sudo adduser --system --group --no-create-home redis

Y debes asignar permisos y asignar como propietario del directorio /var/lib/redis al usuario redis.

sudo chown redis:redis /var/lib/redis
sudo chmod 770 /var/lib/redis

Ahora podrás probar el servicio y validar que funciona todo lo que has configurado.

Iniciar el servicio Redis y probar que funciona

Para iniciar el servicio redis en tu servidor puedes utilizar el comando systemctl.

sudo systemctl start redis

Puedes verificar que está funcionando al verificar el estado del servicio con el parámetro status.

sudo systemctl status redis

Este comando te debe mostrar una salida parecida a esta:

●redis.service - Redis In-Memory Data Store
  Loaded: loaded (/etc/systemd/system/redis.service; disabled; vendor preset: enabled)
  Active: active (running) since vie 2016-12-23 10:39:59 CST; 2min 30s ago
Main PID: 11809 (redis-server)
  CGroup: /system.slice/redis.service
          └─11809 /usr/local/bin/redis-server 127.0.0.1:6379

Para probar que el servicio de Redis está funcionando puedes hacer la siguiente prueba:

redis-cli

Y se abrirá una interfaz de texto de Redis que podrás identificar por un promt que se parece a est0: «127.0.0.1:6379>».  Ahí podrás crear un hash y almacenarlo en memoria para la prueba.

set test "It's working!"

Al solicitar el valor del hash «test» te deberá regresar el texto que se almacenó en el.

get test

Al ejecutar el comando anterior en el promt de Redis debes obtener una salida de texto parecida a esta:

127.0.0.1:6379> get test
"It's working!"

Si ves el texto anterior es que Redis está funcionando en tu servidor y la instalación.

Conclusión

Como puedes ver Redis es un servicio que puede ser instalado en Ubuntu Server 16.04 tanto de forma sencilla y práctica por medio de los repositorios o puede ser compilada y configurada según tus necesidades. En el segundo de los casos hemos visto un configuración general pero que puede servir de base para una configuración mas a detalle.

Espero que este post te sea de ayuda y no olvides que cualquier aporte o mejora al post es bienvenida, dejarme tus comentarios abajo.

This entry was posted in Ubuntu and tagged , . Bookmark the permalink.

2 Responses to "Como instalar Redis en Ubuntu 16.04"

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


*