如何在Ubuntu 16.04上安装Redis?


64

我正在使用Laravel,但我已经全部安装了自己的(php,mysql,composer,nginx),现在我需要安装Redis并对其进行配置,以便可以将其用于Laravel中的队列驱动程序。

如何安装,因为无法通过安装 apt-get install redis

我收到此错误:

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

13
sudo apt-get install redis-server
达伦·韦伯

E: Unable to locate package redis-server...?Linux ubuntu-xenial 4.4.0-112-generic
citynorman '18

您是否要在Windows上安装它?我的意思是E:你的队伍中有?
lewis4u

我不得不去sudo apt-get update修理E: Unable to locate package redis-server
citynorman

Answers:


113

我认为,如果您没有任何特殊要求,从主存储库安装总是更好(更简单)的选择。

您要搜索的包名为redis-server。您可以使用来检查其包装信息apt show redis-server

此外哟可以搜索所有的包提Redis的apt search redis,甚至一些简单的过滤使用做grep,使用apt search redis | grep php搜索php-redis或相关包装(个),例如。

因此,您可以简单地运行:

sudo apt install redis-server

在您的终端上,以安装完全正常的redis(服务器)环境。

如果您有任何特殊要求,则始终可以从源代码构建并按照@George在其答案中发布的内容进行安装。

希望能帮助到你。


Redis有2个版本吗?正常的redis和服务器redis或什么,现在我有点困惑
lewis4u

6
好的,我已经对其进行了测试,我得出的结论是我不需要做任何事情,除了sudo apt-get install redis-server我不知道上面的答案中的全部内容...以某种方式不必执行所有这些操作! ?
lewis4u

5
我认为它与个人喜好有关,有些人更喜欢从源代码构建(并针对每个软件版本进行构建以保持最新状态,等等。除非常特殊的情况(例如我提到的(具有稳定的系统)之外,我不同意这一点。考虑到),我更喜欢Ubuntu团队软件包,因为它们已经针对所有Ubuntu系统(台式机,服务器,核心,云)进行了很好的测试。
dgonzalez

2
OK ...对于我的需求,apt-get install redis-server绰绰有余
lewis4u

11
这应该是公认的答案
Nam G VU

53

要安装redis,请执行以下步骤:

  1. 设置具有sudo特权的非root用户

  2. 安装构建和测试依赖项:

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

    1. 通过此链接或与此下载最新副本

      curl -O http://download.redis.io/redis-stable.tar.gz
      
    2. 在您的/home/username/redis-stable目录中为其创建一个临时文件夹
    3. 移动到创建的文件夹并解压缩

      tar xzvf redis-stable.tar.gz
      
    4. 转到文件夹cd redis-stable并使用

      make
      make test
      sudo make install
      
  4. 配置redis:

    1. 创建配置目录:

      sudo mkdir /etc/redis
      
    2. 移动样本redis配置文件:

      sudo cp /home/george/redis-stable/redis.conf /etc/redis
      
    3. 编辑文件:

      sudo nano /etc/redis/redis.conf # or with any other text editor
      
    4. 在那里
      supervised no进行两项更改:更改supervised systemd
      dirdir /var/lib/redis#以进行持久数据转储
  5. 设置系统单元文件:

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

    添加文字:

    [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. 设置redis用户,组和目录:

    创建具有相同ID但没有主目录的Redis用户和组:

    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. 测试重做:

    1. 启动redis服务:

      sudo systemctl start redis
      
    2. 检查状态:

      systemctl status redis
      

      成功启动后的状态结果:

      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. 测试实例:

      1. 连接:

        redis-cli
        
      2. 在提示时测试连接性:

        127.0.0.1:6379> ping   # result PONG
        
      3. 检查设置键的能力:

        127.0.0.1:6379 set test "It's working!"  # result ok
        
      4. 获取刚刚设置的密钥:

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

        127.0.0.1:6379 exit
        
      6. 重新启动redis,然后重新运行步骤1、4和5,以再次与客户端连接,并确认您的测试值仍然可用,因此可以正常工作:

        sudo systemctl restart redis
        
  8. 启用redis在启动时启动:

    sudo systemctl enable redis
    

资源:

Digital Ocean-如何在Ubuntu 16.04上安装和配置Redis

直接下载链接


如您所写,需要做所有这些吗?因为我只是尝试将Redis安装在另一台机器上,sudo apt-get install redis-server并且我可以运行redis-cli和设置变量并可以毫无问题地调用它们...所以我问是因为我想学习!
lewis4u

4
如果要安装最新版本,这是采取的途径,但是如果您不太担心获取最新版本,则sudo apt-get install redis-server是进行拖曳的途径。同样,这是一次学习redis实际工作方式和设置方式的机会。我个人更喜欢以这种方式进行操作,因此我可以了解系统的内外信息,并可以对其进行更改以适合我的需求和期望。
乔治·乌德森

我现在是你的粉丝。
TiagoBértolo'17

1
@TiagoBertolo obrigado!
George Udosen '17

1
@PrimeTimeTran我认为他的意思是重新运行步骤7:3的步骤1、4和5,而不是重新运行整个过程。
大师

25

如上所述这里。首先将PPA存储库添加到您的操作系统,然后更新并安装存储库列表。

sudo add-apt-repository ppa:chris-lea/redis-server
sudo apt-get update
sudo apt-get install redis-server

3
使用ppa更加方便
cwhsu

4
将其从标准存储库中可用的默认3.0版本升级到Ubuntu 16.04中的4.0版本非常有用。谢谢
jamescampbell

2
最佳答案!!!!
詹姆斯中号

1
对Ubuntu 18.04仍然有效;我能够以这种方式获得最新的Redis版本,而不是更旧的版本(1个主要版本/落后12个月)。
cdjaco

4

在运行(第3部分,第4部分)之后,按照@George的回答进入and运行。makecdredis-stable/utils./install_server.sh

此交互式脚本将帮助您定义端口和其他文件位置,然后您可以立即运行redis-cli

该目录还具有用于启动和停止服务器的便捷脚本。


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)首先去redis.io网站

2),您会看到那里检查下载页面

3)打开终端

4)apt-cache策略redis-server

您可以看到操作系统版本显示的版本表

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)最简单的方法转到redis.io站点,然后单击下载链接。进一步,您将继续滚动,越向下,您会看到安装

almost same way mac

7)首先,您输入update命令。所有要回购的都是更新。

 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)现在给出tar命令

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

12) cd redis-4.0.0

13)make-在Redis二进制文件上制作

如果完成,您可以看到“ make test”命令

14)src/redis-server-启动Redis服务器

15)src/redis-cli-启动Redis客户端

set name vadivel
    Ok
    get name
    "vadivel"

16)sudo make install-只要在发出redis命令时输入任何目录

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.