Installing redis on linux

Как установить и настроить Redis в Ubuntu 20.04

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

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:

  1. redis-server – Persistent key-value database with network interface
  2. 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 container stop redis-server && docker container rm -v redis-server

И запустим его снова с нужной опцией:

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.

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

Создадим файл docker-compose:

redis:
image: redis
container_name: ‘redis-server’
restart: unless-stopped
ports:
— «6379:6379»
volumes:
— /opt/docker/redis/etc:/usr/local/etc/redis
command: [ «redis-server», «/usr/local/etc/redis/redis.conf» ]

* в данном примере мы запускаем контейнер redis-server из образа redis; сервис должен работать на порту 6379; также мы пробросим созданный каталог /opt/docker/redis/etc внутри контейнера в /usr/local/etc/redis; наконец, запуск сервиса будет выполнен с параметром /usr/local/etc/redis/redis.conf — нашим конфигурационным файлом.

Уничтожаем ранее запущенный контейнер:

docker container stop redis-server && docker container rm -v redis-server

Запускаем новый с помощью docker-compose:

docker-compose up -d

Теперь можно подключиться к консоли redis-cli:

docker exec -it redis-server redis-cli

* где 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» завершена. В следующей теме, я расскажу как собрать кластер из редиску — как создать свой огород))))

Источник

Читайте также:  Драйвера для kkl vag com 409 1 windows 10
Оцените статью
Tutorial requirements
Requirements Ubuntu Linux
Root privileges Yes
Difficulty Easy
Est. reading time 5 minutes