Como instalar o Redis no Ubuntu 16.04?

36

Estou trabalhando com o Laravel, mas instalei tudo sozinho (php, mysql, composer, nginx) e agora preciso instalar o Redis e configurá-lo para poder usá-lo no driver de fila do Laravel.

Como instalar, porque não pode ser instalado através de apt-get install redis

eu recebo este erro:

[email protected]:~$ 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
    
por lewis4u 06.01.2017 / 20:45

4 respostas

35

Para instalar o redis, siga estas etapas:

  1. Configure um usuário não raiz com sudo privileges

  2. Instale as dependências de criação e teste:

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

    1. Faça o download da cópia mais recente através deste link ou com este

      curl -O http://download.redis.io/redis-stable.tar.gz
      
    2. Crie uma pasta temporária para ela em, digamos, seu diretório /home/username/redis-stable
    3. Mova-se para a pasta criada e extraia-a

      tar xzvf redis-stable.tar.gz
      
    4. Mude para a pasta cd redis-stable e crie-a com

      make
      make test
      sudo make install
      
  4. Configurar redis:

    1. Crie o diretório de configuração:

      sudo mkdir /etc/redis
      
    2. Mover o arquivo de configuração de redis de amostra:

      sudo cp /home/george/redis-stable/redis.conf /etc/redis
      
    3. Edite o arquivo:

      sudo nano /etc/redis/redis.conf # or with any other text editor
      
    4. Faça duas alterações lá: supervised no to supervised systemd
      dir to dir /var/lib/redis # para despejo persistente de dados
  5. Configure o arquivo de unidade do systemd:

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

    Adicione o 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 usuário, grupos e diretórios redis:

    crie usuário e grupo de redis com o mesmo ID, mas sem diretório inicial:

    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. Teste de detalhes:

    1. Iniciar o serviço de redis:

      sudo systemctl start redis
      
    2. Verifique o status:

      systemctl status redis
      

      Resultado do status se iniciado com sucesso:

      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. instância de teste:

      1. Conecte-se:

        redis-cli
        
      2. Teste a conectividade no prompt:

        127.0.0.1:6379> ping   # result PONG
        
      3. Verifique a capacidade de definir chaves:

        127.0.0.1:6379 set test "It's working!"  # result ok
        
      4. Obtenha a chave que acabou de definir:

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

        127.0.0.1:6379 exit
        
      6. Reinicie os redis e execute novamente as etapas 1, 4 e 5 para se conectar ao cliente novamente e confirme se o valor do teste ainda está disponível. Por isso, ele está funcionando como esperado:

        sudo systemctl restart redis
        
  8. Ativar redis para iniciar na inicialização:

    sudo systemctl enable redis
    

Fonte:

Oceano Digital - como instalar e instalar configurar redis no Ubuntu 16.04

Links para download direto

    
por George Udosen 06.01.2017 / 21:47
73

Acho sempre melhor (e mais simples) instalar a partir de repositórios principais como primeira opção, se você não tiver nenhum requisito especial.

O pacote que você está procurando é chamado de redis-server . Você pode verificar as informações do pacote com apt show redis-server .

Você também pode pesquisar todos os pacotes que mencionam redis com apt search redis , ou mesmo fazer uma filtragem simples usando grep , usar apt search redis | grep php para pesquisar php-redis ou pacote (s) relacionado (s) por exemplo.

  

Então, você pode simplesmente executar:

     

sudo apt install redis-server

     

no seu terminal, para instalar um ambiente totalmente em funcionamento redis (servidor) .

Se você tiver algum requisito especial, você sempre pode criar a partir do código-fonte e instalar como @George postou em sua resposta.

Espero que ajude.

    
por dgonzalez 07.01.2017 / 05:18
14

Como descrito aqui . Primeiro, adicione o repositório PPA ao seu sistema operacional, atualize sua lista de repositórios e instale-a.

sudo add-apt-repository ppa:chris-lea/redis-server
sudo apt-get update
sudo apt-get install redis-server
    
por Kibo 21.08.2017 / 08:54
4

Seguindo a resposta de @George , depois de executar make (etapa 3, parte 4), cd into redis-stable/utils e execute ./install_server.sh .

Este script interativo ajudará você a definir uma porta e outros locais de arquivo, e após o qual você poderá executar imediatamente redis-cli .

Esse mesmo diretório também tem um script útil para iniciar e parar o servidor.

    
por Yaakov 29.03.2017 / 06:21