Поиск по сайту:

Как установить Redis Server в системах на базе CentOS и Debian


Redis — это высокопроизводительное и гибкое хранилище структур данных в памяти с открытым исходным кодом (формат «ключ-значение»), используемое в качестве базы данных, кэша и брокера сообщений. Он написан на ANSI C и работает на большинстве, если не на всех Unix-подобных операционных системах, включая Linux (рекомендуется для развертывания) без внешних зависимостей.

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

Возможности Redis:

  • Поддерживает большинство языков программирования, включая C, Bash, Python, PHP, Node.js, Perl, Ruby, и это лишь некоторые из них.
  • Имеет встроенную репликацию, сценарии Lua, вытеснение LRU, транзакции, а также различные уровни сохранения на диске.
  • Обеспечивает высокую доступность через Redis Sentinel и автоматическое секционирование через Redis Cluster.
  • Поддерживает выполнение атомарных операций.
  • Он работает с набором данных в памяти для достижения замечательной производительности.
  • Поддерживает простую в настройке асинхронную репликацию «главный-подчиненный».
  • Поддерживает автоматическое переключение при сбое.
  • Позволяет нечасто сохранять набор данных на диск в течение заданного периода времени или путем добавления каждой команды в журнал.
  • Позволяет опционально отключить сохранение.
  • Поддерживает публикацию/подписку сообщений.
  • Он также поддерживает транзакции MULTI, EXEC, DISCARD и WATCH и многое другое.

Требования:

  1. Сервер CentOS 7 и сервер RHEL 7 с минимальной установкой
  2. Сервер Ubuntu или сервер Debian с минимальной установкой
  3. Компилятор GCC и libc

В этом руководстве мы предоставим инструкции по установке сервера Redis из исходного кода (рекомендуемый метод) в Linux. Мы также покажем, как настраивать, управлять и защищать Redis. Поскольку Redis обслуживает все данные из памяти, в этом руководстве мы настоятельно рекомендуем использовать VPS-сервер с большим объемом памяти.

Шаг 1. Установите сервер Redis из исходного кода

1. Сначала установите необходимые зависимости сборки.

--------------- On CentOS / RHEL / Fedora --------------- 
yum groupinstall "Development Tools"
dnf groupinstall "Development Tools"

--------------- On Debian / Ubuntu --------------- 
sudo apt install build-essential

2. Затем загрузите и скомпилируйте последнюю стабильную версию Redis, используя специальный URL-адрес, который всегда указывает на последнюю стабильную версию Redis, с помощью команды wget.

wget -c http://download.redis.io/redis-stable.tar.gz
tar -xvzf redis-stable.tar.gz
cd redis-stable
make 
make test
sudo make install

3. После компиляции Redis каталог src внутри дистрибутива Redis заполняется различными следующими исполняемыми файлами, которые являются частью Redis:

  • redis-server – сервер Redis.
  • redis-sentinel – исполняемый файл Redis Sentinel (мониторинг и аварийное переключение).
  • redis-cli – утилита CLI для взаимодействия с Redis.
  • redis-benchmark – используется для проверки производительности Redis.
  • redis-check-aof и redis-check-dump – полезны в редких случаях повреждения файлов данных.

Шаг 2. Настройка сервера Redis в Linux

4. Далее вам необходимо настроить Redis для среды разработки, которая будет управляться системой init (systemd для целей этого руководства). . Начните с создания необходимых каталогов для хранения конфигурационных файлов Redis и ваших данных:

sudo mkdir /etc/redis
sudo mkdir -p /var/redis/

4. Затем скопируйте предоставленный файл конфигурации шаблона Redis в каталог, который вы создали выше.

sudo cp redis.conf /etc/redis/

5. Теперь откройте файл конфигурации и обновите несколько настроек следующим образом.

sudo vi /etc/redis/redis.conf

6. Затем найдите следующие параметры, а затем измените (или используйте) их значения по умолчанию в соответствии с потребностями вашей локальной среды.

port  6379				#default port is already 6379. 
daemonize yes				#run as a daemon
supervised systemd			#signal systemd
pidfile /var/run/redis.pid 		#specify pid file
loglevel notice				#server verbosity level
logfile /var/log/redis.log		#log file name
dir  /var/redis/			#redis directory

Шаг 3. Создайте файл модуля Redis Systemd

7. Теперь вам нужно создать системный файл модуля для Redis, чтобы управлять демоном, выполнив следующую команду.

sudo vi /etc/systemd/system/redis.service

И добавьте конфигурацию ниже:

[Unit]
Description=Redis In-Memory Data Store
After=network.target

[Service]
User=root
Group=root
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always
Type=forking

[Install]
WantedBy=multi-user.target

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

Шаг 4. Управление и тестирование сервера Redis в Linux

8. После того, как вы выполнили все необходимые настройки, вы можете запустить сервер Redis, а пока включите его автоматический запуск при загрузке системы; затем просмотрите его статус следующим образом.

sudo systemctl start redis
sudo systemctl enable redis
sudo systemctl status redis

9. Затем проверьте, работает ли вся настройка Redis нормально. Для взаимодействия с сервером Redis используйте команду redis-cli. После подключения к серверу попробуйте выполнить несколько команд.

redis-cli
Test connection to server using ping command:
127.0.0.1:6379> ping
Use the echo command to echo a given string:
127.0.0.1:6379> echo "Tecmint is testing Redis"
You can also set a key value using the set command like this:
127.0.0.1:6379> set mykey "Tecmint is testing Redis"
Now view the value of mykey:
127.0.0.1:6379> get mykey

10. Затем закройте соединение с помощью команды exit и перезапустите сервер Redis. После этого проверьте, хранится ли mykey на сервере, как показано ниже:

127.0.0.1:6379> exit
sudo systemctl restart redis
redis-cli
127.0.0.1:6379> get mykey

11. Чтобы удалить ключ, используйте команду удаления следующим образом:

127.0.0.1:6379> del mykey
127.0.0.1:6379> get mykey

Шаг 5. Защита сервера Redis в Linux

12. Этот раздел предназначен для пользователей, которые собираются использовать сервер Redis, подключенный к внешней сети, например к Интернету.

Важно: доступ Redis к Интернету без какой-либо защиты делает его чрезвычайно простым для взлома; поэтому защитите сервер Redis следующим образом:

  • блокировать подключения к порту Redis в системе с брандмауэром
  • установить директиву привязки для интерфейса обратной связи: 127.0.0.1
  • установите параметр requirepass, чтобы клиенты требовали аутентификации с помощью команды AUTH.
  • настройте туннелирование SSL для шифрования трафика между серверами Redis и клиентами Redis.

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

redis-cli -h

Вы можете найти дополнительные серверные команды и узнать, как использовать Redis в своем приложении, на домашней странице Redis: https://redis.io/

В этом руководстве мы показали, как установить, настроить, управлять и защитить Redis в Linux. Чтобы поделиться своими мыслями, используйте форму комментариев ниже.