Установка Redis из исходного кода на Ubuntu 18.04

Введение

Redis — это key-value хранилище, которое хранит данные в оперативной памяти. Отличается производительностью и гибкостью. Используется в основном как хранилище для кеша или других временных данных.

Из этой статьи вы узнаете как установить Redis из исходного кода на Ubuntu 18.04.

Подготовка

Для начала установите необходимые для компиляции зависимости.


$ sudo apt update
$ sudo apt install build-essential tcl gcc libc6-dev make

Установка и настройка

Поскольку исходный код не нужно долго хранить, загрузите его в /tmp каталог.

Перейдите во временный каталог:


$ cd /tmp


Загрузите архив. По данной ссылке всегда будет доступна последняя стабильная версия:


$ curl -O http://download.redis.io/releases/redis-stable.tar.gz

Затем распакуйте архив:


$ tar xzf redis-stable.tar.gz

Перейдите в каталог с исходным кодом:


$ cd redis-stable

Скомпилируйте двоичные файлы:


$ make


Затем выполните установку:


$ sudo make install


Теперь Redis установлен. Пришло время его настроить.

Создайте каталог, в котором будет храниться файл конфигурации:


$ sudo mkdir /etc/redis


Скопируйте файл конфигурации из каталога с исходным кодом:


$ sudo cp /tmp/redis-stable/redis.conf /etc/redis

Затем откройте файл в редакторе, чтобы внести кое-какие изменения:


$ sudo vim /etc/redis/redis.conf


Найдите директиву supervised и поменяйте ее значение на systemd:


supervised systemd


Далее найдите директиву dir и поменяйте ее значение на /var/lib/redis:


dir /var/lib/redis

Сохраните файл и закройте редактор.

Создание системного файла Redis

Чтобы можно было управлять Redis как службой, а так же автоматически запускать Redis после загрузки системы — создайте файл systemd.

Откройте в редакторе файл:


$ sudo vim /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

Директивы User и Group указывают на то, под каким пользователем и группой будет запущена служба. В целях безопасности служба будет запущена не от root а от пользователя redis, которого вы создадите чуть позже.

Сохраните файл и закройте редактор.

Создание пользователя Redis и каталога для данных

Теперь необходимо создать системного пользователя с группой, под которым будет запускаться Redis.

Это можно сделать одной командой:


$ sudo adduser --system --group --no-create-home redis


Затем создайте каталог /var/lib/redis:


$ sudo mkdir /var/lib/redis

Сделайте пользователя redis владельцем этого каталога:


$ sudo chown redis:redis /var/lib/redis

И наконец, настройте права для каталога, чтобы обычные пользователи не имели к нему доступ:


$ sudo chmod 770 /var/lib/redis

Запуск и тестирование

Запустите службу systemd, выполнив:


$ sudo systemctl start redis


Проверьте, нет ли ошибок:


$ sudo systemctl status redis


Чтобы протестировать службу, подключитесь к серверу redis используя redis-cli:


$ redis-cli

Проверьте соединение, выполнив:


127.0.0.1:6379> PING


В ответ вы должны получить:


PONG


Затем установите ключ:


127.0.0.1:6379> set movie "Terminator 2: Judgment Day"


Получите значение ключа:


127.0.0.1:6379> get movie


В ответ вы должны получить значение, которое установили:


"Terminator 2: Judgment Day"


Чтобы вернуться назад в shell, выполните:


127.0.0.1:6379> exit


И в заключение проверьте, может ли Redis сохранять данные после остановки или перезапуска.

Перезапустите сервис:


$ sudo systemctl restart redis


А затем снова подключитесь к серверу и проверьте, сможете ли вы все еще получить значение установленного ключа:


$ redis-cli
127.0.0.1:6379> get movie

Вернитесь назад в shell, выполнив:


127.0.0.1:6379> exit


Убедившись, что служба работает, настройте ее на автоматический запуск при загрузке системы. Для этого выполните:


$ sudo systemctl enable redis


Заключение

Теперь Redis полностью настроен и готов к работе.

умный дом, новости, техника
Поделиться в соцсетях:

Другие статьи

7 ноября
Автоматика
Охранная система для дома

Времена, когда охранные системы для дома были доступны лишь богатым клиентам, постепенно уходят в прошлое.

Статьи 4 ноября
Обзор трех высокотехнологичных термостатов

Среди «умных» термостатов есть явный лидер — Nest.

Статьи 3 ноября
Умные вещи века. Новинки октября

Рынок "умных" вещей молодой и в отличие от многих других отраслей на нем практически еженедельно появляются новые и очень интересные продукты.

2 ноября
Умный дом
Управление системой Умный дом

Система домашней автоматизации предназначена, чтобы управлять другими системами - инженерными и развлекательными.

Статьи 4 ноября
Обзор трех высокотехнологичных термостатов

Среди «умных» термостатов есть явный лидер — Nest.

Статьи 3 ноября
Умные вещи века. Новинки октября

Рынок "умных" вещей молодой и в отличие от многих других отраслей на нем практически еженедельно появляются новые и очень интересные продукты.