- Установка и настройка Redis для разных ОС
- Redis: установка на Windows
- Установка Redis на Windows
- Установка Redis: Ubuntu 22.04
- Установка Redis: CentOS 7
- Настройка Redis
- Redis как DBaaS
- Заключение
- Установка, настройка и работа с Redis на Ubuntu
- Установка, начальная настройка и запуск
- Операционная система Ubuntu
- Docker
- Проверка работы
- Доступ по сети
- а) Установка на операционную систему
- б) Запуск в Docker
- Подключение клиентом
- Настройка аутентификации
- а) Установка на операционную систему
- б) Запуск в Docker
- Пример подключения из языков программирования
- PHP
Установка и настройка Redis для разных ОС
Redis — это система управления базами данных, которая хранит данные в формате «ключ-значение»: уникальному ключу в БД соответствует некоторое значение. Данные в этой базе данных хранятся в оперативной памяти, благодаря чему запросы обрабатываются быстро.
Согласно рейтингу DB-Engines.com , Redis — это самая популярная СУБД «ключ-значение». Благодаря этому типу, архитектура базы и запросы к ней проще, чем в реляционных баз данных. Однако использовать привычный SQL на стандартном Redis не получится: придется работать с Lua-скриптами или устанавливать модифицированные версии, например RediSQL.
Redis лучше всего использовать в проектах, где нужна база данных с быстрым доступом к данным и простой схемой.
Чтобы вы могли комфортно использовать эту СУБД в своих проектах, мы подготовили материал по установке Redis на три операционные системы: на Windows, Ubuntu и CentOS. По завершении установки мы настроим Redis, после чего СУБД будет готова к работе.
Redis: установка на Windows
Есть два варианта установки Redis на Windows:
В этом разделе мы разберем установку портированной версии. Если вы хотите установить в WSL, то:
- руководство по установке и настройке WSL в Windows 10 вы найдете в материале «Как установить Node.js на Windows» в разделе «Установка WSL» ;
- инструкция по установке на Ubuntu описана чуть ниже в разделе «Установка на Ubuntu».
Портированная версия для Windows вышла довольно давно: в 2016 году. Она размещена на github и доступна для скачивания всем пользователями. Преимущества установки этой версии заключается в её простоте: для установки не потребуется дополнительная «прослойка» в виде Docker или WSL. Выбирайте порт для Windows, если не хотите усложнять процесс установки и вас устраивает 6-летняя версия.
Установка Redis на Windows
Шаг 1 — заходим в репозиторий на GitHub портированной версии по ссылке: https://github.com/microsoftarchive/redis .
Шаг 2 — переходим на вкладку «Releases».
Шаг 3 — выбираем последний релиз.
Шаг 4 — скачиваем файл с расширением .msi. На изображении он выделен синим цветом:
Шаг 5 — после загрузки откройте файл. Начнется установка.
Шаг 6 — во время установки инсталлятор предложит вам добавить Redis в PATH. Если хотите использовать СУБД из командной строки, проставьте галочку напротив этого пункта.
Шаг 7 — во время выбора порта рекомендуется оставить стандартное значение 6379.
Шаг 8 — после установки необходимо перезагрузить компьютер.
После загрузки компьютера проверим работоспособность Redis. Для этого в командной строке выполняем команду redis-server.
При её выполнении может возникнуть ошибка со следующим сообщением:
Проблема заключается в том, что Windows в автоматическом режиме после установки регистрирует службу, к которой привязывает порт 6379. Когда выполняется команда redis-server, исполнитель обращается к файлу конфигурации и использует порт по-умолчанию, т.е. 6379. Из-за этого возникает ошибка.
Чтобы её решить открываем командную строку и делаем следующее:
- переходим в каталог Redis командой cd;
- запускаем redis-cli.exe;
- выключаем сервер командой shutdown;
- выходим командой exit.
Вот набор команд для стандартного каталога:
После этих действий команда redis-server успешно выполнилась:
Настройки Redis описываются в двух файлах: redis.windows.conf и redis.windows-service.conf.
- Redis.windows-service.conf описывает настройки СУБД, запущенной в качестве службы. Этот формат подразумевает работу в фоновом режиме под управлением операционной системы (запуск при перезагрузке, перезапуск при сбоях и т.п).
- Redis.windows.conf относится к использованию СУБД из командной строки с помощью redis-cli. Это же относится и к использованию СУБД в своих скриптах.
Настройка этих файлов приведет к изменению работы Redis. В нашем случае настроек минимальное количество: СУБД прослушивает любые подключения. Это не совсем безопасно, поэтому позволим подключение к Redis только с localhost. Для этого в файлах конфигурации находим задокументированную строку #bind 127.0.0.1 и удаляем решетку «#»:
Установка Redis: Ubuntu 22.04
Устанавливать Redis на Ubuntu мы будем из официального репозитория. Также, эта инструкция подойдет для установки Redis на Debian .
Шаг 1 — в первую очередь обновим индексы пакетов apt:
sudo apt install redis-server -y
Проверить работоспособность можно командой sudo systemctl status redis:
Установка Redis: CentOS 7
Устанавливать Redis будем на CentOS 7. В первую очередь установим EPEL (Extra Packages for Enterprise Linux) — это пакет с дополнительными репозиториями, которые не включены в стандартную версию CentOS. Установим их:
sudo yum install epel-release
Теперь мы можем установить redis:
Через несколько минут редис будет установлен на компьютер. Чтобы включить редис в автозагрузку, выполняем следующую команду:
sudo systemctl enable redis
Настройка Redis
Настройка Redis осуществляется через изменение конфигурационных файлов. Они для всех версий будут одинаковыми. Поэтому, для наглядной настройки, мы настроим Redis на операционной системе Ubuntu и удаленно подключимся к ней с Windows.
Для осуществления базовой настройки нам необходимо изменить 2 параметра: открыть удаленное подключение и установить пароль.
openssl rand 25 | openssl base64 -A
/37DQhAt5MBq/34Lj24Ppn5LI/UZksAZJQ==
Злоумышленники могут перебирать до 150 тысяч паролей в секунду, поэтому важно выбрать надежный пароль. Копируем полученный результат и переходим к конфигурационному файлу.
Шаг 2 — открываем конфигурационный файл:
sudo nano /etc/redis/redis.conf
Шаг 3 — изменяем конфигурацию.
Найдем в конфигурационном файле строку «bind 127.0.0.1 ::1» и закомментируем её с помощью #. Не закрывая файл, найдем строку «protected-mode yes» и заменим её на «protected-mode no». В раздел «Security» после строки #requirepass foobared добавляем строку со сгенерированным паролем:
requirepass /37DQhAt5MBq/34Lj24Ppn5LI/UZksAZJQ==
Закрываем файл и сохраняем все изменения.
Шаг 4 — перезапускаем Redis, чтобы изменения вступили в силу:
sudo systemctl restart redis.service
Шаг 5 — с помощью netstat проверяем, какие сетевые интерфейсы прослушивает Redis:
sudo netstat -lnp | grep redis
Шаг 6 — подключаемся удаленно. Попробуем подключиться к базе данных из командной строки Windows:
redis-cli -h 192.168.43.37 -p 6379 -a /37DQhAt5MBq/34Lj24Ppn5LI/UZksAZJQ==
192.168.43.37:6379> set key test
OK
192.168.43.37:6379> get key
"test"
Redis как DBaaS
DBaaS (database as a service) — это база данных, размещенная в облаке. Этот сервис похож на аренду сервера, только вместо виртуальной машины вы получаете базу данных. Такой вариант обладает рядом преимуществ:
- меньшее количество административных хлопот: не нужно обновлять СУБД и обслуживать оборудование;
- легкое масштабирование базы данных: если для вашего проекта потребовалась более производительная БД, то это легко сделать в панели управления;
- быстрый старт: СУБД будет установлена на старте;
- бесперебойная работа.
Заключение
В Timeweb.cloud есть услуга « Облачные базы данных » — уже готовое и настроенное решение. Если вы не хотите отягощать себя административными манипуляциями, то вы можете арендовать базу данных на Redis у Timeweb Cloud. Помимо Redis, Timeweb Cloud может предложить в качестве СУБД MySQL, PostgreSQL и MongoDB.
Установка, настройка и работа с Redis на Ubuntu
Обновлено: 24.12.2022 Опубликовано: 10.04.2021
Используемые термины: Redis, Ubuntu. Мы рассмотрим инструкцию для установки Redis как на операционную систему Ubuntu, так и в качестве контейнера Docker. Данную СУБД, как правило, применяют для хранения временной информации, например, кэша или сессий. Ее преимущество — скорость.
Установка, начальная настройка и запуск
Рассмотрим два варианта установки — чистая инсталляция на систему Linux Ubuntu и запуск контейнера из официального докер-образа.
Операционная система Ubuntu
* данная настройка позволит инициализировать запуск Redis как службы. В соответствии с официальной документацией, это позволит нам получить больше контроля над базой данных. Разрешаем автозапуск сервиса:
* в данном примере установлена версия 5. На момент обновления данной инструкции последней версией была 6.
Docker
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-server — имя контейнера, которое мы задали во время его запуска. Мы должны увидеть строку ввода команд Redis:
Доступ по сети
После установки Redis, к нему можно подключиться только локально. Чтобы мы могли использовать сервер баз данных для сетевых запросов, необходимо изменить настройки в конфигурационном файле. В зависимости от способа установки, наши действия будут отличаться.
а) Установка на операционную систему
. и через запятую перечисляем IP-адреса сетевых интерфейсов сервера, на котором он должен принимать запросы:
* в нашем примере мы добавили адрес 192.168.0.15 — предполагается, что это адрес нашего сервера. Перезапускаем сервис:
б) Запуск в Docker
По умолчанию, Redis в докере разрешаем сетевые подключения в сети docker и при подключении с локального сервера. Чтобы сделать доступным контейнер при обращении к хосту Docker, нужно запустить контейнер с опцией -p 6379:6379. Для начала, уничтожим запущенный контейнер:
Подключение клиентом
На компьютере, с которого мы хотим подключиться к нашему серверу должна быть установлена утилита redis-tools. Например, на Ubuntu или Debian ее можно поставить простой командой:
* где 192.168.0.15 — адрес сервера Redis. Для подключения из Windows можно установить клиент AnotherRedisDesktopManager.
Настройка аутентификации
При необходимости, мы можем установить логин и пароль для подключения к Redis. Наши действия будут отличаться в зависимости от способа установки сервера баз данных.
а) Установка на операционную систему
* где password — наше парольное слово. Если мы ввели правильный пароль, то система покажет:
б) Запуск в Docker
Для докера мы выполним запуск контейнера с помощью 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 — нашим конфигурационным файлом. Уничтожаем ранее запущенный контейнер:
Пример подключения из языков программирования
PHP
Для каждого возможного варианта использования PHP необходимо создать отдельный конфигурационной файл. В данном примере, под php 7.4 для cli, php-fpm, apache.
В системах на базе RPM (например, CentOS или Red Hat), нет разделения php на версии. Таким образом, нам нужно будет создать только один файл (как правило, в каталоге /etc/php.d).