Redis — это хранилище данных типа «ключ-значение» в памяти с открытым исходным кодом. Его можно использовать в качестве базы данных, кеша и брокера сообщений, и он поддерживает различные структуры данных, такие как строки, хэши, списки, наборы и многое другое. Redis обеспечивает высокую доступность с помощью Redis Sentinel и автоматическое разделение на несколько узлов Redis с помощью Redis Cluster.
В этом руководстве описывается, как установить и настроить Redis в Ubuntu 20.04.
Установка Redis в Ubuntu 20.04
Установка Redis в Ubuntu — простой процесс.
Redis версии 5.0.x включен в репозитории Ubuntu 20.04 по умолчанию. Чтобы установить его, выполните следующие команды от имени пользователя root или пользователя с привилегиями sudo :
После завершения установки служба Redis запустится автоматически. Чтобы проверить статус службы, введите следующую команду:
Вы должны увидеть что-то вроде этого:
Вот и все. У вас установлен и запущен Redis на вашем сервере Ubuntu 20.04.
Настроить удаленный доступ Redis
По умолчанию сервер Redis не принимает удаленные подключения. Вы можете подключиться к Redis только с 127.0.0.1 (localhost) — машины, на которой запущен Redis.
Если вы используете установку с одним сервером, когда клиент, подключающийся к базе данных, также работает на том же хосте, вам не следует включать удаленный доступ.
Чтобы настроить Redis для приема удаленных подключений, откройте файл конфигурации Redis в текстовом редакторе:
Найдите строку, которая начинается с bind 127.0.0.1 ::1 и прокомментируйте ее.
Сохраните файл и перезапустите службу Redis, чтобы изменения вступили в силу:
Используйте следующую команду, чтобы убедиться, что redis прослушивает все интерфейсы порта 6379 :
Вы должны увидеть что-то вроде ниже. 0.0.0.0 означает все IPv4-адреса на машине.
Затем вам нужно настроить брандмауэр, чтобы разрешить трафик на TCP-порт 6379 .
Обычно вы хотите разрешить доступ к серверу Redis только с определенного IP-адреса или диапазона IP-адресов. Например, чтобы разрешить подключения только из подсети 192.168.121.0/24 , вы должны выполнить следующую команду:
На этом этапе вы должны иметь возможность подключаться к Redis через TCP-порт 6379 из удаленных мест.
Чтобы убедиться, что все настроено правильно, вы можете попробовать проверить связь с сервером Redis со своего удаленного компьютера с помощью redis-cli :
Команда должна вернуть ответ PONG :
Выводы
Мы показали вам, как установить Redis в Ubuntu 20.04. Чтобы узнать больше о том, как управлять установкой Redis, посетите страницу документации Redis .
Если вы столкнулись с проблемой или хотите оставить отзыв, оставьте комментарий ниже.
Источник
How to install Redis server on Ubuntu Linux
Tutorial requirements
Requirements
Ubuntu Linux
Root privileges
Yes
Difficulty
Easy
Est. reading time
5 minutes
Table of contents
My Redis Set up
Searching for Redis package on Ubuntu
Use the apt-cache command or apt command to locate package on your Ubuntu machine: apt search redis apt-cache search ^redis
Installing Redis server on Ubuntu
We need to install at least the following two packages:
redis-server – Persistent key-value database with network interface
redis-tools – Redis client and management tool
Hence install two packages under Ubuntu system: sudo apt install redis-server redis-tools
Ubuntu 20.04 Redis server installing in progress
Turn on Redis server service
Is Redis turned on at boot time? systemctl is-enabled redis-server.service If not, run the following systemctl command: sudo systemctl enable redis-server.service
Configuration
It would be best to edit the /etc/redis/redis.conf file to configure the server. So let us get started: sudo vim /etc/redis/redis.conf # OR # sudo nano /etc/redis/redis.conf By default, if no “bind” configuration directive is specified, Redis listens for connections from all the network interfaces available on the server. It is possible to listen to just one or multiple selected interfaces using the “bind” configuration directive, followed by one or more IP addresses. I am going to set IP binding to VLAN/LAN IP as follows: bind 172.168.0.2 Make sure we accept connections from PHP/Python app or Nginx on the specified port, default is 6379. Please note that if port 0 is specified Redis will not listen on a TCP socket: port 6379 Next, set a memory usage limit to the specified amount of bytes. When the memory limit is reached Redis will try to remove keys according to the eviction policy selected or set by maxmemory-policy variable: maxmemory 4gb Save and close the file by pressing Esc followed by 😡 when using vim text editor. Make sure you reload/restart Redis server: systemctl restart redis-server.service
No ads and tracking
In-depth guides for developers and sysadmins at Opensourceflare✨
Join my Patreon to support independent content creators and start reading latest guides:
How to set up Redis sentinel cluster on Ubuntu or Debian Linux
How To Set Up SSH Keys With YubiKey as two-factor authentication (U2F/FIDO2)
How to set up Mariadb Galera cluster on Ubuntu or Debian Linux
A podman tutorial for beginners – part I (run Linux containers without Docker and in daemonless mode)
How to protect Linux against rogue USB devices using USBGuard
Join Patreon ➔
Testing
Verify that port opened and service is running using the ps command and ss command: sudo ps aux | grep redis Look for /usr/bin/redis-server :
Источник
Установка, настройка и работа с Redis на Ubuntu
Мы рассмотрим инструкцию для установки Redis как на операционную систему Ubuntu, так и в качестве контейнера Docker. Данную СУБД, как правило, применяют для хранения временной информации, например, кэша или сессий. Ее преимущество — скорость.
Установка, начальная настройка и запуск
Рассмотрим два варианта установки — чистая инсталляция на систему Linux Ubuntu и запуск контейнера из официального докер-образа.
Операционная система Ubuntu
Обновляем список пакетов:
apt-get install redis-server
Открываем конфигурационный файл:
Меняем значение для директивы supervised:
* данная настройка позволит инициализировать запуск Redis как службы. В соответствии с официальной документацией, это позволит нам получить больше контроля над базой данных.
Разрешаем автозапуск сервиса:
systemctl enable redis-server
systemctl restart redis-server
Наш сервер готов к работе.
Посмотреть версию установленной СУБД можно командой:
Мы должны увидеть что-то на подобие:
Redis server v=5.0.7 sha=00000000:0 malloc=jemalloc-5.2.1 bits=64 build=636cde3b5c7a3923
* в данном примере установлена версия 5. На момент обновления данной инструкции последней версией была 6.
Docker
Необходимо, чтобы в нашей системе был установлен Docker.
После выполняем загрузку образа Redis:
docker pull redis
docker run —name redis-server -d redis
Проверим, что наш контейнер запустился:
Мы должны увидеть что-то на подобие:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a8c30431268c redis «docke…» 4 sec. Up 3. 6379/tcp redis-server
* наш сервис запущен на порту 6379; к нему можно обращаться по имени redis-server или ID a8c30431268c.
Проверка работы
Мы подключимся к нашему локальному серверу командой redis-cli.
а) при установке на систему:
б) если запустили контейнер:
docker exec -it redis-server redis-cli
* где redis-server — имя контейнера, которое мы задали во время его запуска.
Мы должны увидеть строку ввода команд Redis:
Для проверки подключения к серверу выполним команду:
В ответ мы должны увидеть:
Попробуем создать пару ключ — значение. Для этого вводим:
> set test_key «A test value»
Теперь попробуем его получить:
Мы должны получить наше значение:
Также можно получить список всех ключей командой:
Сервер работает. Выходим из редис-консоли:
Полный список команд для работы в redis-cli можно найти на официальном сайте.
Доступ по сети
После установки Redis, к нему можно подключиться только локально. Чтобы мы могли использовать сервер баз данных для сетевых запросов, необходимо изменить настройки в конфигурационном файле. В зависимости от способа установки, наши действия будут отличаться.
а) Установка на операционную систему
Открываем конфигурационный файл:
. и через запятую перечисляем IP-адреса сетевых интерфейсов сервера, на котором он должен принимать запросы:
bind 127.0.0.1 ::1 192.168.0.15
* в нашем примере мы добавили адрес 192.168.0.15 — предполагается, что это адрес нашего сервера.
systemctl restart redis-server
Готово, проверить, что сервер слушает нужный адрес можно командой:
ss -tunlp | grep :6379
б) Запуск в Docker
По умолчанию, Redis в докере разрешаем сетевые подключения в сети docker и при подключении с локального сервера. Чтобы сделать доступным контейнер при обращении к хосту Docker, нужно запустить контейнер с опцией -p 6379:6379.
docker run —name redis-server -p 6379:6379 -d redis
Подключение клиентом
На компьютере, с которого мы хотим подключиться к нашему серверу должна быть установлена утилита redis-tools. Например, на Ubuntu или Debian ее можно поставить простой командой:
apt-get install redis-tools
После мы можем подключится к нашему серверу баз данных командой:
redis-cli -h 192.168.0.15
* где 192.168.0.15 — адрес сервера Redis.
Для подключения из Windows можно установить клиент AnotherRedisDesktopManager.
Настройка аутентификации
При необходимости, мы можем установить логин и пароль для подключения к Redis. Наши действия будут отличаться в зависимости от способа установки сервера баз данных.
а) Установка на операционную систему
Открываем конфигурационный файл:
Снимаем комментарий с параметра requirepass и в качестве значения присваиваем парольное слово:
* в данном примере в качестве пароля используем слово password.
systemctl restart redis-server
Подключаемся к консоли ввода команд:
* где password — наше парольное слово.
Если мы ввели правильный пароль, то система покажет:
Теперь можно вводить запросы, например:
б) Запуск в Docker
Для докера мы выполним запуск контейнера с помощью Docker Compose. Для начала, необходимо его установить.
Создаем каталог, в котором разместим конфигурационный файл на хосте докер:
mkdir -p /opt/docker/redis/etc
Создадим наш конфигурационный файл:
* в данном примере в качестве пароля используем слово password.
* в данном примере мы запускаем контейнер redis-server из образа redis; сервис должен работать на порту 6379; также мы пробросим созданный каталог /opt/docker/redis/etc внутри контейнера в /usr/local/etc/redis; наконец, запуск сервиса будет выполнен с параметром /usr/local/etc/redis/redis.conf — нашим конфигурационным файлом.
* где password — пароль, заданный в конфигурационном файле.
Мы должны увидеть:
Можно попробовать ввести запросы:
Пример подключения из языков программирования
Рассмотрим примеры подключения и выполнения запросов из нескольких языков программирования.
Устанавливаем необходимые зависимости для PHP — пример для Ubuntu / Debian:
apt-get install php-pear php-dev
Также нам нужно установить расширение pecl — обновляем канал:
pecl channel-update pecl.php.net
И компилируем расширение:
pecl install redis
Для каждого возможного варианта использования PHP необходимо создать отдельный конфигурационной файл. В данном примере, под php 7.4 для cli, php-fpm, apache.
Источник
Установка Redis в Unix/Linux
Установка Redis в Unix/Linux
Redis (англ. remote dictionary server) — сетевое журналируемое хранилище данных типа «ключ — значение» с открытым исходным кодом. Нереляционная высокопроизводительная СУБД.
Установка Redis в Unix/Linux
Я расскажу как можно установить redis на различные Unix/Linux ОС.
Установка Redis на Debian/Ubuntu
-===СПАСОБ 1 — использовать пакетный менеджер===-
Самый простой способ установки Redis- просто запустите:
Но есть один минус — такой метод использования, не установит самую новую и последнюю версию.
-===СПАСОБ 2 — использовать сорцы===-
Обновляемся и ставим необходимое ПО:
Собственно, выкачиваем последнюю и стабильную версию редиса:
Распаковываем скачанный архив:
Переходим в папку и собираем сборку:
PS: Как по мне, с этого момента, стоит собрать deb-пакет и потом установить его! Но можно обойтись и без этого. Вот чтиво — Создание RPM или DEB пакетов с Checkinstall в Linux
Если вы не хотите собирать пакет, (опционально запустите «make test», чтобы проверить, все ли в порядке) выполняем:
Redis установлен. Чтобы настроить redis для запуска в фоновом режиме, запустите скрипт:
Вам будет предложено ввести различные значения для создания конфигурации, но вы можете просто нажать клавишу «enter», чтобы принять значения по умолчанию.
Проверим версию редиски:
Как видно с вывода — у меня самая последняя версия — redis-3.2.8.
Запустить сервис, можно:
Презапустить сервис, можно:
Чтобы проверить статус:
Для остановки, используем:
Для использования редиса, запустите:
Чтобы посмотреть, открыл ли редис-сервер соединения, можно использовать:
Но как по мне, данная установка хороша, — если использовать только один редис экземпляр на сервере. Т.к редис не поддерживает многопоточность ( насколько мне это известно) и использует 1 процессор. И чтобы увеличить производительность, обычно…. устанавливают еще несколько экземпляров и вешают их на разные порты.
Создаем папку где будут лежать конфиги с редисом:
Я хотел бы чтобы сервер работал как демон:
Так же, нужно прописать какой гипервизорд будем использовать:
PS: Чтобы проверить что используется, используйте:
И так, мой конфиг выглядит:
SYSTEMD запуск.
Создаем Redis systemd Unit файл:
INIT запуск.
Создаем папку где будут лежать либы:
Выставляем группу и владельца:
И, выставляем права:
Создаем папку где будет лежать файлы с редисом:
Копируем нужные данные в созданную папку:
Для запуска, используем:
Или (если для инита):
Попозже, я расскажу как можно написать свои INIT/SYSTEMD Unit скрипты для запуска утилит или ваших скриптов. Это будет не в этой теме. Но я гарантирую — это будет!
Установка Redis на CentOS/RedHat/Fedora
-===СПАСОБ 1 — использовать пакетный менеджер===-
Подключаем EPEL репозиторий:
Самый простой способ установки Redis- просто запустите:
Но вы не получите самую новую версию ПО.
-===СПАСОБ 2 — использовать сорцы===-
Обновляемся и ставим необходимое ПО:
Собственно, выкачиваем последнюю и стабильную версию редиса:
Распаковываем скачанный архив:
Переходим в папку и собираем сборку:
PS: Как по мне, с этого момента, стоит собрать deb-пакет и потом установить его! Но можно обойтись и без этого. Вот чтиво — Создание RPM или DEB пакетов с Checkinstall в Linux
Если вы не хотите собирать пакет, (опционально запустите «make test», чтобы проверить, все ли в порядке) выполняем:
Redis установлен. Чтобы настроить redis для запуска в фоновом режиме, запустите скрипт:
Вам будет предложено ввести различные значения для создания конфигурации, но вы можете просто нажать клавишу «enter», чтобы принять значения по умолчанию.
Проверим версию редиски:
Запустить сервис, можно:
Презапустить сервис, можно:
Чтобы проверить статус:
Для остановки, используем:
Для использования редиса, запустите:
Чтобы добавить службу в автозагрузку, используем:
Меня в такой конфигурации, раздражает то, что он называется redis-server. Для меня логично было бы использовать «redis_6379» из-за того, что на сервере могут иметься еще экземпляры с редисом. По этому, если нужно изменить это, то приступим…
Нас интересует 2 файла:
Берем и переименовываем их:
И собственно, 2-й файл:
После этого, стоит поменять путь к данным файлам, для этого открываем:
И перезапускаем редиску:
Установка Redis на Mac OS X
-===СПАСОБ 1 — использовать пакетный менеджер===-
Можно поискать редис:
Получить информацию о пакете Redis:
Для установки, используйте:
Добавить редис в автозагрузку ОС:
Чтобы убрать редис с автозагрузки ОС, используйте:
Запуск редиски через «launchctl»:
Запустите Redis-сервер, используя конфигурационный файл:
Чтобы удалить, используйте:
-===СПАСОБ 2 — использовать сорцы===-
Настройка Redis в Unix/Linux
У меня он выглядит следующим образом:
И так, у меня редис висит на локалхосте ( 127.0.0.1 ), вот строка:
Вообще, можно изменить данную строку на «0.0.0.0» или на конкретный IP адрес.
Говорит что включен мод-защиты. Это означает, что никто из вне, не сможет подключится к данному редис-серверу. Если хотите чтобы клиенты с других хостов подключались к Redis, то установить в «no».
Сервер использует 6379-й порт. Можно повесить на сокет при необходимости.
Это стандартная конфигурация и она не идеальная, т.к она может «сожрать» всю RAM. Для того чтобы этого не произошло, стоит добавить:
И так, я для редиса, ограничил использования виртуальной памяти до 2 Гб. Так же, можно защитить редиску-сервис и установить пароль, для этого — находим строку:
И приводим к виду:
Иногда, бывает полезным — запретить использование команд, находим:
Это запретит использования CONFIG команды в редис. Но можно и переименовать некоторую команду, например:
Данное выражение, заменит использование CONFIG на rename_CONFIG.
Чтобы проверить бенчмарк (нагрузку на редис-сервер), используйте команду:
На этом, у меня все. Статья «Установка Redis в Unix/Linux» завершена. В следующей теме, я расскажу как собрать кластер из редиску — как создать свой огород))))