¿Cómo instalar Redis en Ubuntu 16.04?

65

Estoy trabajando con Laravel pero he instalado todo por mi cuenta (php, mysql, composer, nginx) y ahora necesito instalar Redis y configurarlo para poder usarlo como controlador de cola en Laravel.

Cómo instalarlo, porque no se puede instalar a través de apt-get install redis

me sale este error:

ubuntu@ubuntu:~$ sudo apt-get install redis
[sudo] password for ubuntu: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package redis
lewis4u
fuente
13
sudo apt-get install redis-server
Darren Weber
E: Unable to locate package redis-server...? Linux ubuntu-xenial 4.4.0-112-generic
citynorman
¿Estás intentando instalar esto en Windows? Quiero decir que hay E:en tu línea?
lewis4u
Tuve que correr sudo apt-get updatepara arreglarloE: Unable to locate package redis-server
citynorman

Respuestas:

114

Creo que siempre es mejor (y más simple) instalar desde los repositorios principales como primera opción si no tiene requisitos especiales.

Se nombra el paquete que está buscando redis-server. Puede consultar la información del paquete con apt show redis-server.

También yo puede buscar todos los paquetes mencionan Redis con apt search redis, o incluso hacer algún tipo de filtrado simple usando grep, usar apt search redis | grep phppara buscar php-rediso paquete relacionado (s), por ejemplo.

Entonces, simplemente puedes ejecutar:

sudo apt install redis-server

en su terminal, para instalar un entorno completamente funcional redis(servidor) .

Si tiene algún requisito especial, siempre puede construir desde la fuente e instalar como @George publicó en su respuesta.

Espero eso ayude.

dgonzalez
fuente
¿Hay 2 versiones de redis? un redis normal y un servidor redis o qué, ahora estoy un poco confundido
lewis4u
66
OK, lo he probado y llegué a la conclusión de que no necesito hacer nada, excepto sudo apt-get install redis-serverque no sé de qué se trata todo esto en la respuesta anterior ... ¡de alguna manera no es necesario hacer todo eso! ?
lewis4u
55
Creo que está relacionado con las preferencias personales, algunas personas prefieren construir desde la fuente (y hacerlo para cada versión de software) para mantenerse más actualizado, etc. No estoy de acuerdo con esto, excepto en casos muy especiales, como mencioné (con un sistema estable en mente), prefiero los paquetes del equipo de Ubuntu porque están bastante probados en todos los sistemas Ubuntu (escritorio, servidor, núcleo, nube) .
dgonzalez
2
OK ... para mis necesidades apt-get install redis-server es más que suficiente
lewis4u
11
Esta debería ser la respuesta aceptada
Nam G VU
54

Para instalar redis, siga estos pasos:

  1. Configurar un usuario no root con sudoprivilegios

  2. Instalar dependencias de compilación y prueba:

    sudo apt update
    sudo apt full-upgrade
    sudo apt install build-essential tcl
    
  3. Configurar redis:

    1. Descargue la última copia a través de este enlace o con este

      curl -O http://download.redis.io/redis-stable.tar.gz
      
    2. Cree una carpeta temporal para él en digamos su /home/username/redis-stabledirectorio
    3. Mover a la carpeta creada y extraerla

      tar xzvf redis-stable.tar.gz
      
    4. Cambie a la carpeta cd redis-stabley compílelo con

      make
      make test
      sudo make install
      
  4. Configurar redis:

    1. Crear directorio de configuración:

      sudo mkdir /etc/redis
      
    2. Mover el archivo de configuración de redis de muestra:

      sudo cp /home/george/redis-stable/redis.conf /etc/redis
      
    3. Edite el archivo:

      sudo nano /etc/redis/redis.conf # or with any other text editor
      
    4. Realizar dos cambios allí:
      supervised noa supervised systemd
      dira dir /var/lib/redis# de volcado de datos persistentes
  5. Configure el archivo de la unidad systemd:

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

    Agrega el texto:

    [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
    
  6. Configurar redis usuario, grupos y directorios:

    crear usuario y grupo redis con la misma ID pero sin directorio de inicio:

    sudo adduser --system --group --no-create-home redis   
    sudo mkdir /var/lib/redis   # create directory
    sudo chown redis:redis /var/lib/redis   # make redis own /var/lib/redis
    sudo chmod 770 /var/lib/redis   # adjust permission
    
  7. Prueba de redis:

    1. Iniciar el servicio de redis:

      sudo systemctl start redis
      
    2. Comprobar estado:

      systemctl status redis
      

      Resultado del estado si se inició con éxito:

      Output
      ● redis.service - Redis Server
       Loaded: loaded (/etc/systemd/system/redis.service; enabled; vendor preset: enabled)
       Active: active (running) since Wed 2016-05-11 14:38:08 EDT; 1min 43s ago
       Process: 3115 ExecStop=/usr/local/bin/redis-cli shutdown (code=exited, status=0/SUCCESS)
       Main PID: 3124 (redis-server)
       Tasks: 3 (limit: 512)
       Memory: 864.0K
       CPU: 179ms
       CGroup: /system.slice/redis.service
                └─3124 /usr/local/bin/redis-server 127.0.0.1:6379
      
    3. Instancia de prueba:

      1. Conectar:

        redis-cli
        
      2. Pruebe la conectividad en el indicador:

        127.0.0.1:6379> ping   # result PONG
        
      3. Verifique la capacidad de establecer claves:

        127.0.0.1:6379 set test "It's working!"  # result ok
        
      4. Obtenga la clave que acaba de configurar:

        127.0.0.1:6379 get test  # result "It's working!"
        
      5. Salida redis:

        127.0.0.1:6379 exit
        
      6. Reinicie redis y luego vuelva a ejecutar los pasos 1, 4 y 5 para volver a conectarse con el cliente y confirmar que el valor de la prueba todavía está disponible, por lo tanto, funciona como se esperaba:

        sudo systemctl restart redis
        
  8. Habilitar redis para comenzar en el arranque:

    sudo systemctl enable redis
    

Fuente:

Digital Ocean: cómo instalar y configurar redis en Ubuntu 16.04

Enlaces de descarga directa

George Udosen
fuente
¿Es necesario hacer todo esto como has escrito? porque acabo de intentar instalar redis en una máquina diferente sudo apt-get install redis-servery puedo ejecutar redis-cliy establecer variables y llamarlas sin problema ... ¡así que pregunto porque quiero aprender!
lewis4u
44
Si desea instalar la última versión, esta es la ruta a seguir, pero si no está tan preocupado por obtener la última versión, entonces es el camino a seguir sudo apt-get install redis-server. Nuevamente, esta es una oportunidad para aprender cómo redisfunciona realmente y cómo está configurado. Yo personalmente prefiero hacerlo de esta manera, así que sé entradas y salidas del sistema y puede alterarlo para satisfacer mis necesidades y expectativas.
George Udosen
Soy tu fan ahora.
Tiago Bértolo
1
@TiagoBertolo obrigado!
George Udosen
1
@PrimeTimeTran Creo que se refiere a volver a ejecutar los pasos 1, 4 y 5 del paso 7: 3, no del procedimiento general.
Muru
25

Como se describe aquí . Primero agregue el repositorio PPA a su sistema operativo, luego actualice su lista de repositorios e instálela.

sudo add-apt-repository ppa:chris-lea/redis-server
sudo apt-get update
sudo apt-get install redis-server
Kibo
fuente
3
usar ppa es mucho más conveniente
cwhsu
44
Esto funcionó muy bien para actualizar desde la versión predeterminada 3.0 disponible en el repositorio estándar a la versión 4.0 en Ubuntu 16.04. Gracias
jamescampbell
2
¡¡¡¡La mejor respuesta!!!!
James M
1
Sigue siendo válido para Ubuntu 18.04; Pude obtener la última versión de Redis de esta manera, a diferencia de una versión mucho más antigua (1 lanzamiento principal / 12 meses de retraso).
cdjaco
4

Siguiendo la respuesta de @ George , después de correr make(paso 3, parte 4), cdentra redis-stable/utilsy corre ./install_server.sh.

Este script interactivo lo ayudará a definir un puerto y otras ubicaciones de archivos, y luego podrá ejecutarlo inmediatamente redis-cli.

Ese mismo directorio también tiene un script útil para iniciar y detener el servidor.

Yaakov
fuente
Job for redis-server.service failed because the control process exited with error code. See "systemctl status redis-server.service" and "journalctl -xe" for details. invoke-rc.d: initscript redis-server, action "start" failed. ● redis-server.service - Advanced key-value store Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled) Active: activating (auto-restart) (Result: exit-code) since Wed 2017-03-29 19:19:59 UTC; 37ms ago Docs: http://redis.io/documentation, man:redis-server(1)
Stevie G
0

1) En primer lugar, vaya al sitio redis.io

2) y ves allí revisa la página de descarga

3) Abra la terminal

4) política apt-cache redis-server

puede ver la tabla de versiones para la pantalla de versión de su sistema operativo

5) sudo apt-get install redis-server

Don't getting this way install. Because redis server installing, but redis server install the your Ubuntu operating system version.

6) La forma más fácil Vaya al sitio redis.io y haga clic en el enlace de descarga. Más adelante irá desplazándose más abajo verá la instalación

almost same way mac

7) En primer lugar, debe ingresar el comando de actualización. Todo lo que iba a repo fue actualizar.

 sudo apt-get update

8) sudo apt-get install build-essential tcl

9) mkdir redis

10) wget http://download.redis.io/releases/redis-4.0.0.tar.gz

11) Ahora da el comando tar

   unzip tar file.
   tar xzf redis-4.0.0.tar.gz

12) cd redis-4.0.0

13) make- hacer en redis binary

si una vez terminado puedes ver el comando "hacer prueba"

14) src/redis-server- inicia el servidor redis

15) src/redis-cli- inicia el cliente redis

set name vadivel
    Ok
    get name
    "vadivel"

16) sudo make install- cada vez que dé el comando redis al ingresar cualquier directorio

usuario868733
fuente