如何在 Ubuntu 16.04 上安装 Redis?

lew*_*s4u 70 apt redis software-installation

我正在使用 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
Run Code Online (Sandbox Code Playgroud)

dgo*_*lez 119

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

您正在搜索的包名为redis-server。您可以使用apt show redis-server.

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

所以,你可以简单地运行:

sudo apt install redis-server

在您的终端上,安装一个完全工作的redis(服务器)环境。

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

希望能帮助到你。

  • 这应该是公认的答案 (11认同)
  • 好的,我已经对其进行了测试,得出的结论是,除了“sudo apt-get install redis-server”之外,我不需要做任何事情,我不知道上面答案中的所有内容......不知何故没有必要做所有这些!? (6认同)
  • 我认为这与个人偏好有关,有些人更喜欢从源代码构建 _(并针对每个软件版本进行构建)_ 以保持最新等。我不同意这一点,除了非常特殊的情况,就像我提到的(带有稳定系统),我更喜欢 Ubuntu 团队包,因为它们已经针对所有 Ubuntu 系统进行了很好的测试_(桌面、服务器、核心、云)_。 (6认同)
  • 好的...对于我的需要 apt-get install redis-server 绰绰有余 (2认同)

Geo*_*sen 61

要安装 redis,请按照下列步骤操作:

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

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

    sudo apt update
    sudo apt full-upgrade
    sudo apt install build-essential tcl
    
    Run Code Online (Sandbox Code Playgroud)
  3. 设置redis:

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

      curl -O http://download.redis.io/redis-stable.tar.gz
      
      Run Code Online (Sandbox Code Playgroud)
    2. 在你的/home/username/redis-stable目录中为它创建一个临时文件夹
    3. 进入创建的文件夹并解压

      tar xzvf redis-stable.tar.gz
      
      Run Code Online (Sandbox Code Playgroud)
    4. 更改为文件夹cd redis-stable并构建它

      make
      make test
      sudo make install
      
      Run Code Online (Sandbox Code Playgroud)
  4. 配置redis:

    1. 创建配置目录:

      sudo mkdir /etc/redis
      
      Run Code Online (Sandbox Code Playgroud)
    2. 移动示例 redis 配置文件:

      sudo cp /home/george/redis-stable/redis.conf /etc/redis
      
      Run Code Online (Sandbox Code Playgroud)
    3. 编辑文件:

      sudo nano /etc/redis/redis.conf # or with any other text editor
      
      Run Code Online (Sandbox Code Playgroud)
    4. 在那里做两个更改:
      supervised noto supervised systemd
      dirto dir /var/lib/redis# 用于持久数据转储
  5. 设置 systemd 单元文件:

    sudo nano /etc/systemd/system/redis.service
    
    Run Code Online (Sandbox Code Playgroud)

    添加文字:

    [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
    
    Run Code Online (Sandbox Code Playgroud)
  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
    
    Run Code Online (Sandbox Code Playgroud)
  7. 测试redis:

    1. 启动redis服务:

      sudo systemctl start redis
      
      Run Code Online (Sandbox Code Playgroud)
    2. 检查状态:

      systemctl status redis
      
      Run Code Online (Sandbox Code Playgroud)

      成功启动后的状态结果:

      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
      
      Run Code Online (Sandbox Code Playgroud)
    3. 测试实例:

      1. 连接:

        redis-cli
        
        Run Code Online (Sandbox Code Playgroud)
      2. 在提示下测试连接:

        127.0.0.1:6379> ping   # result PONG
        
        Run Code Online (Sandbox Code Playgroud)
      3. 检查设置键的能力:

        127.0.0.1:6379 set test "It's working!"  # result ok
        
        Run Code Online (Sandbox Code Playgroud)
      4. 获取刚刚设置的密钥:

        127.0.0.1:6379 get test  # result "It's working!"
        
        Run Code Online (Sandbox Code Playgroud)
      5. 退出redis:

        127.0.0.1:6379 exit
        
        Run Code Online (Sandbox Code Playgroud)
      6. 重新启动redis,然后重新运行步骤1、4和5以再次与客户端连接并确认您的测试值仍然可用,因此它按预期工作:

        sudo systemctl restart redis
        
        Run Code Online (Sandbox Code Playgroud)
  8. 启用 redis 在启动时启动:

    sudo systemctl enable redis
    
    Run Code Online (Sandbox Code Playgroud)

来源:

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

直接下载链接

  • 如果你想安装最新版本,这是要走的路线,但如果你不太关心获取最新版本,那么 `sudo apt-get install redis-server` 是拖拽的路径。同样,这是一个了解 redis 实际工作方式及其设置方式的机会。我个人更喜欢这样做,所以我知道系统的_in 和 outs_,并且可以更改它以满足我的需求和期望。 (4认同)

Kib*_*ibo 35

首先将 PPA 存储库添加到您的操作系统,然后更新您的存储库列表并安装它。

sudo add-apt-repository ppa:redislabs/redis
sudo apt-get update
sudo apt-get install redis
Run Code Online (Sandbox Code Playgroud)

  • 这非常适合从标准存储库中可用的默认 3.0 版本升级到 Ubuntu 16.04 中的 4.0 版本。谢谢 (5认同)
  • 使用ppa要方便得多 (4认同)
  • 最佳答案!!!! (3认同)
  • 对 Ubuntu 18.04 仍然有效;我能够通过这种方式获得最新的 Redis 版本,而不是更旧的(1 个主要版本/12 个月后)版本。 (2认同)
  • chris-lea PPA 现在似乎已经过时了。[Redis Labs 运行 PPA](https://launchpad.net/~redislabs/+archive/ubuntu/redis) 具有最新版本。 (2认同)