Как установить Redis на Ubuntu 16.04?


65

Я работаю с 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

Вы пытаетесь установить это на Windows? Я имею в виду, есть ли E:в вашей линии?
lewis4u

Я должен был бежать, sudo apt-get updateчтобы исправитьE: Unable to locate package redis-server
ситинорман

Ответы:


114

Я думаю, что всегда лучше (и проще) устанавливать из основных репозиториев в качестве первого варианта, если у вас нет особых требований.

Пакет, который вы ищете, назван 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 разместил в своем ответе.

Надеюсь, это поможет.


Есть ли 2 версии Redis? нормальный redis и сервер redis или что, теперь я немного
запутался

6
Хорошо, я проверил это, и я пришел к выводу, что мне не нужно ничего делать, кроме как, sudo apt-get install redis-serverя не знаю, о чем все это в ответе выше ... почему-то нет необходимости делать все это! ?
lewis4u

5
Я думаю, что это связано с личными предпочтениями, некоторые люди предпочитают строить из исходного кода (и делать это для каждой версии программного обеспечения), чтобы быть в курсе последних событий и т. Д. Я не согласен с этим, за исключением очень особых случаев, как я уже упоминал (со стабильной системой). в уме), я предпочитаю групповые пакеты Ubuntu, потому что они довольно хорошо протестированы на всех системах Ubuntu (десктоп, сервер, ядро, облако) .
dgonzalez

2
ОК ... для моих нужд apt-get install redis-server более чем достаточно
lewis4u

11
Это должен быть принятый ответ
Nam G VU

54

Чтобы установить 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 noto supervised systemd
      dirto dir /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, группы и каталоги:

    создать пользователя и группу 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. Тест Redis:

    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 - как установить и настроить redis на Ubuntu 16.04

Прямые ссылки для скачивания


Нужно ли делать все это, как вы написали? потому что я только что попытался установить Redis на другой машине, sudo apt-get install redis-serverи я могу запускать redis-cliи устанавливать переменные и вызывать их без проблем ... поэтому я спрашиваю, потому что я хочу учиться!
lewis4u

4
Если вы хотите установить последнюю версию, вам нужно выбрать этот путь, но если вы не очень заинтересованы в получении последней sudo apt-get install redis-serverверсии, это путь для буксировки. Опять же, это возможность узнать, как на redisсамом деле работает и как это настроить. Я лично предпочитаю , чтобы сделать это таким образом , так что я знаю , и выходы из системы и может изменить его в соответствии с моим потребностям и ожиданиям.
Джордж Удосен

Теперь я твой фанат.
Тьяго Бертоло

1
@TiagoBertolo obrigado!
Джордж Удосен

1
@PrimeTimeTran Я думаю, он имеет в виду повторный запуск шагов 1, 4 и 5 шага 7: 3, а не общей процедуры.
Муру

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 по умолчанию, доступной в стандартном репо, до версии 4.0 в Ubuntu 16.04. Спасибо
jamescampbell

2
Лучший ответ!!!!
Джеймс М

1
Все еще действует для Ubuntu 18.04; Я смог получить последнюю версию Redis таким образом, в отличие от гораздо более старой (1 основной выпуск / 12 месяцев назад) версии.
cdjaco

4

После @ ответ Джорджа , после запуска make(этап 3, часть 4), cdв redis-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)
Стиви Джи

0

1) В первую очередь зайдите на сайт redis.io

2) и вы видите там проверить страницу загрузки

3) Откройте терминал

4) политика APT-кэша Redis-сервер

вы можете увидеть таблицу версий для отображения версии вашей операционной системы

5) sudo apt-get установить редис-сервер

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) Прежде всего вы вводите команду обновления. Все репо было обновлено.

 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 двоичного файла

если после завершения вы можете увидеть команду «сделать тест»

14) src/redis-server- запустить сервер redis

15) src/redis-cli- запустить клиент Redis

set name vadivel
    Ok
    get name
    "vadivel"

16) sudo make install- всякий раз, когда вы даете команду redis, введите any dir

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.