Saltar al contenido

Cómo instalar Redis desde las fuentes en Ubuntu 18.04

marzo 4, 2020

 

Introducción

Redis es un almacén de claves-valor en memoria conocido por su flexibilidad, rendimiento y soporte de idiomas amplio. Se utiliza comúnmente como una base de datos, memoria caché, y intermediario de mensajes, y es compatible con una amplia gama de estructuras de datos.

Este tutorial muestra cómo instalar y configurar Redis de la fuente en un servidor de Ubuntu 18.04. Tenga en cuenta que Redis se puede instalar en menos pasos de descarga e instalación a través de los repositorios oficiales de Ubuntu. Para instalar Redis usando este método, consulte nuestra guía sobre cómo instalar y Secure Redis en Ubuntu 18.04.

Requisitos previos

Para completar esta guía, tendrá acceso a un servidor de Ubuntu 18.04 configurar siguiendo esta guía de configuración inicial del servidor, incluyendo un usuario no root con privilegios sudo y un firewall.

Cuando esté listo para comenzar, inicie sesión en el servidor de Ubuntu 18.04 con tu usuario sudo y seguir adelante.

Paso 1 – Instalación de la construcción y el orden de prueba Dependencias

para obtener la última versión de Redis, vamos a compilar e instalar el software de la fuente. Antes de descargar el código fuente, sin embargo, debe satisfacer las dependencias de construcción para que pueda compilar el software.

Para hacer esto, instale el meta-paquete build-essential desde los repositorios de Ubuntu. Además, descarga el paquete tcl que se puede utilizar para probar los binarios.

actualización de la memoria caché de paquetes apt locales e instalar las dependencias escribiendo:

sudo apt update
sudo apt install build-essential tcl

  • sudo update apt
  • sudo apt instalar build-essential TCL

Con esto, todos los construir y probar las dependencias están instalados en el servidor y se puede comenzar el proceso de instalación de Redis sí.

Paso 2 – descarga, la compilación y la instalación de Redis

Después de instalar sus dependencias, ya está listo para instalar Redis por descarga, la compilación, y luego construir el código fuente. Puesto que usted no tendrá que mantener el código fuente Redis para el largo plazo (siempre se puede volver a descargar), descargar el código fuente en su directorio / tmp.

inicio navegando a este directorio:

cd mp

  • cd / tmp

A continuación, el uso rizo para descargar la última versión estable de Redis. La versión más reciente siempre se puede encontrar en una URL estables descarga:

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

  • rizo -O http://download.redis.io/redis-stable.tar.gz

Descomprime el código escribiendo:

tar xzvf redis-stable.tar.gz

  • tar xzvf Redis-stable.tar.gz

luego pasar a la estructura de directorio de origen Redis que se acaba de extraer:

cd redis-stable

  • cd Redis-estable

compilar los binarios Redis escribiendo:

make

  • hacen

Después

los binarios tienen terminado de compilar, ejecutar el banco de prueba para asegurarse de que todo fue construido correctamente: make test

make test

Esto suele tardar unos minutos para el final. Una vez que se complete la prueba, instalar los binarios en el sistema escribiendo:

sudo make install

  • sudo make install

Eso es todo para instalar Redis, y ahora está listo para comenzar la configuración de la misma. Con este fin, tendrá que crear un directorio de configuración. El directorio de configuración Redis se encuentra convencionalmente en el directorio / etc /, y se pueden crear allí escribiendo:

sudo mkdir /etc/redis

  • sudo mkdir / etc / ReDiS

A continuación, copiar el archivo de configuración Redis muestra que venía incluido con el fichero de fuentes Redis:

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

  • sudo cp mp/redis-stable/redis.conf / etc / ReDiS

Abrir el archivo con su editor de texto preferido para hacer algunos cambios en la configuración: nano

sudo nano /etc/redis/redis.conf

  • sudo /etc/redis/redis.conf

Dentro del archivo, encuentre la directiva supervisada. Esta directiva permite declarar un sistema de inicio para gestionar Redis como un servicio, que le proporciona un mayor control sobre su funcionamiento. La directiva supervisado se establece en no por defecto. Puesto que usted está ejecutando Ubuntu, que utiliza el sistema de inicio systemd, cambiar esto a systemd:

. . .

# 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

. . .

A continuación, busque la directiva dir. Esta opción especifica el directorio que Redis utilizará para volcar los datos persistentes. Si necesita cambiar a un lugar donde Redis tendrá permisos de escritura y que no es visible para los usuarios normales.

Uso del var / lib / Redis directorio / para esto; va a crear este directorio y ajustar sus permisos más adelante en el Paso 4:

. . .

# 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

. . .

Guardar y cerrar el archivo cuando haya terminado.

Esos son todos los cambios que necesita para hacer el fichero de configuración Redis, pero todavía hay algunos pasos que necesita para pasar por – tal ha de configurar Redis para funcionar como un servicio y crear su usuario dedicado y grupo – antes de que pueda empezar a utilizarlo.

Paso 3 – Creación de una unidad de archivo Redis systemd

Con el fin de tener mayor control sobre la forma en que administra Redis, puede crear un archivo de unidad de systemd que le permiten funcionar como un servicio systemd. Esto también tendrá el beneficio de lo que es fácil para habilitar Redis para poner en marcha cada vez que el servidor se inicia.

Crear y abrir el archivo /etc/systemd/system/redis.service para empezar:

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

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

Una vez dentro, comenzará la sección [Unidad] por añadir una descripción del servicio y definir un requisito que la red debe estar disponible antes de que se inicie:

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

la sección [servicio] es donde se especifica el comportamiento del servicio. Por razones de seguridad, no se debe ejecutar este servicio como root . En su lugar debe utilizar un usuario dedicado y de grupo y, por simplicidad, puede llamar a ambos Redis . Va a crear estos momentáneamente.

Para iniciar el servicio, sólo tiene que llamar al binario Redis-servidor y lo señala en su configuración. Para impedirlo, utilice el comando de apagado Redis, que se puede ejecutar con el binario Redis-CLI. También, ya que es deseable tener Redis recuperarse de fallos siempre que sea posible, establecer la directiva Reiniciar para siempre:

[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

Por último, añadir una sección [Instalar]. Allí, definir el objetivo systemd que el servicio debe adjuntar a si está activado (es decir, que está configurado para iniciarse en el arranque):

[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

Guardar y cerrar el archivo cuando haya terminado. archivo de la unidad

El Redis systemd está todo listo. Antes de que pueda ser objeto de un uso, sin embargo, debe crear el usuario dedicada y el grupo al que hizo referencia en la sección [Servicio] y les conceda los permisos que necesitan para funcionar.

Paso 4 – Crear el usuario Redis, Grupo y directorios

Las últimas cosas que hay que hacer antes de comenzar la prueba y Redis son para crear el usuario, grupo, y el directorio que se hace referencia en los dos archivos anteriores.

Comience por crear el Redis usuario y grupo . Esto se puede hacer en un solo comando escribiendo:

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

  • sudo adduser –system –group –no-create-hogar ReDiS

A continuación, cree el var lib Redis directorio / / / (que se hace referencia en redis.conf el archivo creado en el paso 2) escribiendo:

sudo mkdir /var/lib/redis

  • sudo mkdir / var / lib / Redis

Dar al usuario Redis y propiedad del grupo sobre este directorio:

sudo chown redis:redis /var/lib/redis

  • sudo chown Redis: Redis / var / lib / ReDiS

por último, ajustar los permisos para que los usuarios regulares no pueden acceder a esta ubicación:

sudo chmod 770 /var/lib/redis

  • sudo chmod 770 / var / lib / Redis

Usted ha puesto todos los componentes Redis necesita para funcionar sitio. Ahora está listo para iniciar el servicio Redis y probar su funcionalidad.

Paso 5 – Arranque y Prueba Redis

de inicio del servicio systemd escribiendo:

sudo systemctl start redis

  • sudo inicio systemctl ReDiS

Comprobar que el servicio no tiene errores de funcionamiento:

sudo systemctl status redis

  • sudo systemctl estado Redis

esto producirá una salida similar a la siguiente: prueba de

Output● redis.service - Redis In-Memory Data Store
Loaded: loaded (/etc/systemd/system/redis.service; disabled; vendor preset: enabled)
Active: active (running) since Tue 2018-05-29 17:49:11 UTC; 4s ago
Main PID: 12720 (redis-server)
Tasks: 4 (limit: 4704)
CGroup: /system.slice/redis.service
└─12720 /usr/local/bin/redis-server 127.0.0.1:6379
. . .

para que el servicio está funcionando correctamente, conecte al servidor Redis con el cliente de línea de comandos:

redis-cli

  • Redis-cli

En el símbolo que sigue, la prueba conectividad escribiendo:

ping

  • de ping

Esto devolverá:

OutputPONG

A continuación, comprueba que se puede configurar teclas escribiendo: “! está funcionando”

set test "It's working!"

  • ensayo de deformación

OutputOK

Recuperar el valor de la prueba escribiendo:

get test

  • obtener prueba

Usted debe ser capaz de recuperar el valor que almacenó:

Output"It's working!"

Después de confirmar que se puede recuperar el valor, salir del Redis pronta para volver a la cáscara: la salida

exit

Como prueba final, comprobaremos si Redis es capaz de persistir los datos incluso después de que se haya detenido o reiniciado. Para ello, reinicie primero la instancia Redis:

sudo systemctl restart redis

  • sudo systemctl reinicio Redis

A continuación, conectar con el cliente de nuevo para confirmar que el valor de la prueba está todavía disponible:

redis-cli

  • Redis-CLI get

get test

  • prueba

el valor de la clave debe seguir siendo accesible:

Output"It's working!"

salir a cabo en la cáscara de nuevo cuando haya terminado: la salida

exit

Suponiendo todas estas pruebas funcionó y que le gustaría comenzar Redis automáticamente cuando se inicia el servidor, active el servicio systemd:

sudo systemctl enable redis

  • sudo systemctl permiten Redis

OutputCreated symlink from /etc/systemd/system/multi-user.target.wants/redis.service to /etc/systemd/system/redis.service.

Con eso, su instalación Redis está en pleno funcionamiento.

Conclusión

En este tutorial, que ha instalado, compilado, y construyó Redis a partir de su código fuente, configurado para que se ejecute como un servicio systemd, y se validó que la instalación de Redis está funcionando correctamente. Como paso siguiente inmediato, fuertemente le recomendamos que asegure su instalación Redis siguiendo nuestra guía sobre cómo asegurar su instalación Redis en Ubuntu 18.04.