Сегодня: 19 Июн, 2021
Заметки сисадмина

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


Введение




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




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




Установка 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 полностью настроен и готов к работе.



Поделиться
Комментарии
Максим Орлов

Ваш покорный слуга - компьютерщик широкого профиля: системный администратор, вебмастер, интернет-маркетолог и много чего кто. Вместе с Вами, если Вы конечно не против, разовьем из обычного блога крутой технический комплекс.

Оставить комментарий

Ваш Email адрес не будет опубликован. Все обязательные поля обозначены *