Como instalar o Redis no Ubuntu 16.04?

65

Estou trabalhando com o Laravel, mas já instalei tudo sozinho (php, mysql, compositor, nginx) e agora preciso instalar o Redis e configurá-lo para que eu possa usá-lo como driver de fila no Laravel.

Como instalá-lo, porque não pode ser instalado através apt-get install redis

eu recebo este erro:

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
fonte
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
Você está tentando instalar isso no Windows? Quero dizer, há E:na sua linha?
Lewis4u
Eu tive que correr sudo apt-get updatepara consertarE: Unable to locate package redis-server
citynorman

Respostas:

114

Eu acho que sempre é melhor (e mais simples) instalar dos repositórios principais como primeira opção se você não tiver nenhum requisito especial.

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

Também yo pode pesquisar todos os pacotes mencionando Redis com apt search redis, ou até mesmo fazer alguma filtragem simples, utilizando grep, utilize apt search redis | grep phppara procurar php-redisou pacote relacionado (s), por exemplo.

Então, você pode simplesmente executar:

sudo apt install redis-server

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

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

Espero que ajude.

dgonzalez
fonte
existem 2 versões do redis? um Redis normais e um servidor Redis ou o quê, agora eu estou confuso um pouco
lewis4u
6
OK, eu testei e cheguei à conclusão de que não preciso fazer nada, exceto sudo apt-get install redis-serverque não sei o que é tudo isso na resposta acima ... de alguma forma, não é necessário fazer tudo isso! ?
Lewis4u
5
Eu acho que está relacionado a preferências pessoais, algumas pessoas preferem construir a partir da fonte (e fazê-lo para cada versão do software) para se manterem mais atualizadas, etc. Discordo disso, exceto em casos muito especiais, como mencionei (com um sistema estável em mente), prefiro os pacotes de equipe do Ubuntu porque eles são muito bem testados em todos os sistemas Ubuntu (desktop, servidor, núcleo, nuvem) .
dgonzalez
2
OK ... para minhas necessidades o apt-get install redis-server é mais do que suficiente
lewis4u
11
Esta deve ser a resposta aceita
Nam G VU
54

Para instalar o redis, siga estas etapas:

  1. Configurar um usuário não raiz com sudoprivilégios

  2. Instale dependências de compilaçã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 seu /home/username/redis-stablediretório
    3. Mover para a pasta criada e extraí-lo

      tar xzvf redis-stable.tar.gz
      
    4. Mude para a pasta cd redis-stablee construa-a com

      make
      make test
      sudo make install
      
  4. Configure redis:

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

      sudo mkdir /etc/redis
      
    2. Mova o arquivo de configuração 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. Fazer duas mudanças lá:
      supervised nopara supervised systemd
      dira dir /var/lib/redis# para despejo de dados persistentes
  5. Configure o arquivo da unidade 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. Configure o usuário, grupos e diretórios do redis:

    crie usuário e grupo 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. Redis de teste:

    1. Inicie o serviço redis:

      sudo systemctl start redis
      
    2. Verificar status:

      systemctl status redis
      

      Resultado do status, se iniciado com ê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. Instância de teste:

      1. Conectar:

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

        127.0.0.1:6379 get test  # result "It's working!"
        
      5. Redis de saída:

        127.0.0.1:6379 exit
        
      6. Reinicie o redis e execute novamente as etapas 1, 4 e 5 para conectar-se ao cliente novamente e confirme se o valor do teste ainda está disponível; portanto, está funcionando conforme o esperado:

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

    sudo systemctl enable redis
    

Fonte:

Digital Ocean - como instalar e configurar o redis no Ubuntu 16.04

Links de download direto

George Udosen
fonte
é necessário fazer tudo isso como você escreveu? porque eu apenas tentei instalar o redis em uma máquina diferente sudo apt-get install redis-servere posso executar redis-clie definir variáveis ​​e chamá-las sem problemas ... por isso estou perguntando porque quero aprender!
Lewis4u
4
Se você deseja instalar a versão mais recente, este é o caminho a seguir, mas se você não está tão preocupado em obter a versão mais recente, é o caminho a seguir sudo apt-get install redis-server. Novamente, esta é uma oportunidade de aprender como redisrealmente funciona e como é configurado. Eu, pessoalmente, prefiro fazê-lo desta forma, então eu sei entradas e saídas do sistema e pode alterá-lo para atender às minhas necessidades e expectativas.
George Udosen
Eu sou seu fã agora.
Tiago Bértolo
11
@TiagoBertolo obrigado!
George Udosen
11
@PrimeTimeTran Acho que ele quer repetir as etapas 1, 4 e 5 da etapa 7: 3, não do procedimento geral.
muru 9/0318
25

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

sudo add-apt-repository ppa:chris-lea/redis-server
sudo apt-get update
sudo apt-get install redis-server
Kibo
fonte
3
usando ppa é muito mais conveniente
cwhsu
4
Isso funcionou muito bem para atualizar a versão 3.0 padrão disponível no repositório padrão para a versão 4.0 no Ubuntu 16.04. Graças
jamescampbell
2
Melhor resposta!!!!
18718 James M -
11
Ainda válido para o Ubuntu 18.04; Consegui obter a versão mais recente do Redis dessa maneira, em oposição a uma versão muito mais antiga (1 lançamento principal / 12 meses atrás).
cdjaco 16/04
4

Após a resposta de @ George , após a execução make(etapa 3, parte 4), cdentre redis-stable/utilse execute ./install_server.sh.

Esse script interativo ajudará você a definir uma porta e outros locais de arquivo, e depois poderá executar imediatamente redis-cli.

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

Yaakov
fonte
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) Primeiro, vá ao site redis.io

2) e você vê lá, verifique a página de download

3) Abra o terminal

4) política de redis-server do apt-cache

você pode ver a tabela de versões para a exibição da versão do seu sistema operacional

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) Maneira mais fácil Acesse o site redis.io e clique no link de download Além disso, você irá rolar mais abaixo, verá a instalação

almost same way mac

7) Antes de tudo, insira o comando update. Todo o repo foi atualizado.

 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) Agora dê o comando tar

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

12) cd redis-4.0.0

13) make- fazendo no redis binário

se terminar, você poderá ver o comando "make test"

14) src/redis-server- inicie o servidor redis

15) src/redis-cli- inicie o cliente redis

set name vadivel
    Ok
    get name
    "vadivel"

16) sudo make install- sempre que der o comando redis, digite qualquer dir

user868733
fonte