Гид по технологиям

Установка Redis на Rocky Linux

• 9 min read • Базы данных • Обновлено 21 Nov 2025
Установка Redis на Rocky Linux — руководство
Установка Redis на Rocky Linux — руководство

Иллюстрация: логотип Redis и окно терминала

Redis — популярное open-source хранилище ключ-значение в памяти. Поддерживает структуры данных: строки, хэши, списки, множества и другие. Redis часто используют как базу данных, кеш и брокер сообщений. Он оптимизирован для высокой производительности и гибкости. Redis предназначён для запуска в доверенной сети, поэтому важно правильно настроить безопасность при публичном доступе.

В этом материале вы найдёте пошаговые инструкции по установке Redis на Rocky Linux двумя способами: быстро из AppStream (удобно для небольших развертываний) и через сборку из исходников (даёт доступ к последним возможностям и поддержке TLS). Также описаны настройка systemd, жёсткие рекомендации по безопасности, методики проверки и набор практических чеклистов для администратора.

Кому пригодится это руководство

  • Системным администраторам и девопс-инженерам, настраивающим Redis в производственной среде.
  • Разработчикам, которым нужен локальный экземпляр Redis на Rocky Linux.
  • Инженерам по безопасности, контролирующим доступ и опасные команды Redis.

Основные термины

  • Redis: сервер ключ-значение в памяти.
  • AppStream: репозиторий пакетов для Rocky Linux.
  • systemd: менеджер системных служб в современных дистрибутивах Linux.
  • TLS: шифрование транспортного уровня для защищённого соединения.

Требования перед началом

  • Сервер с Rocky Linux с актуальными пакетами и репозиториями. Обновите систему: sudo dnf update -y
  • Пользователь с правами root или sudo.
  • Свободное место и сетевой доступ для загрузки пакетов и исходников.

Important: Перед установкой на продакшн убедитесь, что у вас есть резервная стратегия для данных и плана отката.

Установка Redis из репозитория AppStream

Установка из AppStream — самый простой путь. Он подходит для тестовых сред и быстрых развёртываний. На момент написания AppStream в Rocky Linux содержит версию 5.x. Если вам нужна версия 6.x или выше — используйте сборку из исходников или сторонние репозитории.

  1. Установите пакет Redis:
sudo dnf install redis

Подтвердите установку клавишей Y.

Скриншот установки Redis из репозитория AppStream

  1. Включите автозапуск сервиса при старте системы:
sudo systemctl enable redis
  1. Запустите сервис и проверьте статус:
sudo systemctl start redis
sudo systemctl status redis

Если сервис активен, вы увидите статус active (running).

Скриншот запуска и статуса сервиса redis

Notes: При установке из репозитория конфигурационные пути и имена служб могут отличаться от инструкции для сборки из исходников. Проверяйте действительный путь конфигурации redis.conf.

Сборка Redis из исходников (версия 6.2 в примере)

Сборка из исходников требуется, если вам нужна более новая версия, TLS-поддержка или особая кастомизация. В примере мы устанавливаем стабильную серию 6.2.

  1. Подготовьте зависимости и репозиторий EPEL:
sudo dnf install epel-release -y

Скриншот установки репозитория EPEL

Установите группы и библиотеки для компиляции:

sudo dnf group install "Development Tools" -y
sudo dnf install jemalloc lua hiredis linenoise -y
sudo dnf install openssl-devel systemd-devel -y
  1. Создайте системного пользователя и каталог данных:
sudo adduser --system --user-group --no-create-home --shell /sbin/nologin redis
sudo mkdir -p /var/lib/redis
sudo chown -R redis:redis /var/lib/redis
  1. Загрузите исходники и распакуйте:
cd /usr/src/
wget https://download.redis.io/releases/redis-6.2.5.tar.gz

tar -xzvf redis-6.2.5.tar.gz
cd redis-*/

Скриншот загрузки исходного кода Redis

  1. Соберите Redis с поддержкой TLS и systemd и запустите тесты:
sudo make BUILD_TLS=yes USE_SYSTEMD=yes
sudo make test

Вы увидите сообщение о прохождении тестов, если всё прошло успешно:

\o/ All tests passed without errors!

Cleanup: may take some time... OK
make[1]: Leaving directory '/usr/src/redis-6.2.5/src'
  1. Установите собранные бинарники:
sudo make PREFIX=/usr install

Команды redis-server и redis-cli окажутся в /usr/bin.

Скриншот компиляции и установки Redis

Проверьте версии:

redis-server --version
redis-cli --version

Если установка прошла успешно — команды вернут версию 6.2.x.

Общая настройка Redis

Следующие шаги одинаковы и применимы как для установки из AppStream, так и для сборки из исходников.

  1. Создайте каталог конфигурации, если он ещё не создан (только для сборки из исходников):
mkdir -p /etc/redis
cp /usr/src/redis-*/redis.conf /etc/redis/redis.conf
  1. Отредактируйте конфигурационный файл:
sudo nano /etc/redis/redis.conf

Редактирование конфигурации Redis

Основные параметры для изменения:

  • bind — укажите локальный или приватный IP вашего сервера. По умолчанию bind 127.0.0.1. Если Redis должен быть доступен по сети, укажите конкретный IP или сетевой интерфейс.
bind 127.0.0.1
  • daemonize — запустить как демон. Для systemd можно оставить no, но при ручном запуске удобнее yes.
daemonize yes
  • supervised — укажите systemd для интеграции с systemd.
supervised systemd
  • dir — рабочий каталог и место хранения RDB/AOF файлов. Укажите /var/lib/redis.
dir /var/lib/redis
  • requirepass — включите простую аутентификацию паролем. Используйте длинный случайный пароль. Для продакшн-окружения лучше применять ACL и TLS.
requirepass AJds9dshsd8wqejdw82389r3ej3983jk

Сохраните изменения: Ctrl+X, Y, Enter.

Important: Хранить пароль в открытом виде в redis.conf удобно, но менее безопасно. Рассмотрите защиту файла конфигурации через права доступа и систему управления секретами (Vault, AWS KMS и т. п.).

Настройка systemd-сервиса для ручной установки

Если вы устанавливали Redis из исходников, потребуется системный юнит для systemd.

  1. Скопируйте пример юнита в /etc/systemd/system:
cd /usr/src/redis-*/utils/
cp systemd-redis_server.service /etc/systemd/system/redis-server.service
  1. Отредактируйте юнит:
sudo nano /etc/systemd/system/redis-server.service

Пример ключевых опций для проверки:

[Unit]
...
AssertPathExists=/var/lib/redis

[Service]
...
ExecStart=/usr/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/bin/redis-cli shutdown
Restart=alway
...
User=redis
Group=redis
WorkingDirectory=/var/lib/redis

Исправьте опечатку Restart=alway на Restart=always при редактировании.

  1. Перезагрузите конфигурацию systemd и включите сервис:
sudo systemctl daemon-reload
sudo systemctl enable redis-server
sudo systemctl start redis-server
sudo systemctl status redis-server

Скриншот настройки systemd для Redis

Переименование или отключение опасных команд

Redis позволяет переименовать команды или отключить их полностью через redis.conf. Это простой, но эффективный механизм защиты от случайных или вредоносных операций.

  1. Откройте конфигурацию:
sudo nano /etc/redis/redis.conf
  1. Чтобы полностью отключить команду, назначьте ей пустую строку:
rename-command FLUSHDB ""
rename-command FLUSHALL ""
rename-command DEBUG ""
  1. Чтобы переименовать команду, укажите новое имя:
rename-command SHUTDOWN SHUT_ME_DOWN
rename-command CONFIG CONFIG_ME_NOW

Примечание: После изменения конфига перезапустите сервис:

sudo systemctl restart redis-server

Важно: Переименование команд повышает безопасность, но усложняет эксплуатацию и автоматизацию. Документируйте все изменения и при необходимости обновляйте скрипты и мониторинг.

Проверка установки и аутентификации

  1. Подключитесь к серверу Redis:
redis-cli

Или укажите хост/порт:

redis-cli -h 127.0.0.1 -p 6379
  1. Аутентифицируйтесь, если включена опция requirepass:
auth AJds9dshsd8wqejdw82389r3ej3983jk

Ответ при успешной аутентификации: OK

  1. Проверка связи:
ping

При успешном соединении сервер вернёт PONG.

Скриншот проверки подключения и аутентификации Redis

  1. Проверка переименованных и отключённых команд. Если вы переименовали CONFIG в CONFIG_ME_NOW, обычный CONFIG вызовет ошибку:
CONFIG get bind

Ожидаемая ошибка: ERR unknown command ‘CONFIG’

Выполнение переименованной команды:

CONFIG_ME_NOW get bind
CONFIG_ME_NOW get supervised

Если вы успешно переименовали команды и у вас есть права, вы увидите корректный вывод.

Скриншот проверки переименованных команд Redis

Тесты приёмки и контрольные проверки

Критерии приёмки:

  • Redis отвечает на PING и возвращает PONG.
  • redis-server и redis-cli доступны в /usr/bin и возвращают ожидаемую версию.
  • Сервис systemd активен и перезапускается без ошибок.
  • Доступ вне локального интерфейса ограничен согласно bind и правилам фаервола.
  • Пароль аутентификации работает, и переименованные/отключённые команды ведут себя согласно конфигурации.

Минимальные тесты для проверки установки:

  • redis-cli
  • auth <пароль>
  • ping
  • set testkey hello
  • get testkey

Если все шаги прошли — установка принята.

Чеклист администратора перед выводом в продакшн

  • Настроить бэкапы RDB/AOF и проверить восстановление на тестовой машине.
  • Ограничить доступ по bind и фаерволу (firewalld/iptables).
  • Перенастроить мониторинг и алертинг (Prometheus, Grafana, Zabbix и т. п.).
  • Документировать переименованные команды и пароли.
  • Настроить ротацию логов и права доступа к /etc/redis и /var/lib/redis.

Рекомендации по безопасности и твёрдые практики

  • Используйте ACL вместо простого requirepass, чтобы разграничивать права доступа для разных клиентов.
  • Включите TLS (BUILD_TLS=yes при сборке) для шифрования трафика между клиентами и сервером.
  • Закрывайте доступ Redis из публичного интернета; используйте VPN или VPC.
  • Отключайте или переименовывайте опасные команды (FLUSHDB, FLUSHALL, DEBUG, CONFIG, SHUTDOWN).
  • Защитите конфигурационные файлы правами доступа: chmod 640 /etc/redis/redis.conf и владелец root:redis.
  • Используйте мониторинг SLI/SLO для отслеживания задержек операций, пропускной способности и использования памяти.

Security hardening: пример дополнительных настроек в конфиге для продакшна

  • save “” # отключить автоматические снимки, если используется AOF и бэкапы вне сервера
  • maxmemory-policy allkeys-lru # политика вытеснения
  • supervised systemd
  • tls-port 6379

TLS и шифрование трафика

Если вы планируете обслуживать клиентов по сети, включите TLS. При сборке используйте BUILD_TLS=yes и настройте в конфиге:

  • tls-cert-file, tls-key-file, tls-ca-cert-file
  • tls-auth-clients optional/yes

Поскольку сертификаты — это отдельная тема, рассмотрите использование центр сертификации внутри организации или автоматизацию с помощью ACME/Let’s Encrypt для публичных адресов.

Высокая доступность и масштабирование

  • Redis Sentinel — обеспечивает обнаружение отказов и автоматическое переключение мастера. Подходит для развертываний с несколькими репликами.
  • Redis Cluster — шардирование данных по нодам, масштабирование горизонтально.
  • Поддержите репликацию (master-replica) для чтений и резервирования данных.

Выбор зависит от требований по доступности и латентности. Для критичных систем выбирайте комбинацию реплик, Sentinel и регулярных бэкапов.

Отладка и распространённые проблемы

Проблема: Redis не запускается через systemd. Действия:

  • Просмотрите логи: sudo journalctl -u redis-server -b
  • Провертьте права на /var/lib/redis и /etc/redis/redis.conf
  • Убедитесь, что ExecStart указывает на корректный путь к redis-server

Проблема: Клиенты не могут подключиться. Действия:

  • Провертье bind и protected-mode в redis.conf
  • Проверьте брандмауэр: sudo firewall-cmd –list-all или iptables -L
  • Если включён TLS — проверьте корректность сертификатов

Проблема: Команды возвращают ERR unknown command Действия:

  • Проверьте, не были ли команды переименованы или отключены в конфиге
  • Подключитесь с правами, требуемыми ACL

Ролевые чеклисты

Администратор (DevOps):

  • Установить Redis и зависимости
  • Создать системного пользователя redis
  • Настроить systemd-юнит и автозапуск
  • Настроить права на каталоги и конфиг
  • Настроить бэкапы и мониторинг

Разработчик:

  • Убедиться, что приложение использует корректный клиент и параметризацию соединений
  • Тестировать переименованные команды и обработку ошибок
  • Использовать пул соединений и корректные timeout

Инженер по безопасности:

  • Проверить настройки bind и firewall
  • Включить TLS и ACL
  • Провести аудит переименованных команд

Playbook: быстрый план развёртывания Redis на новом сервере

  1. Обновить систему: sudo dnf update -y
  2. Установить зависимости и пользователя redis
  3. Установить из AppStream или собрать из исходников с BUILD_TLS=yes при необходимости
  4. Скопировать redis.conf в /etc/redis и настроить bind, requirepass или ACL, dir
  5. Установить systemd-юнит и включить сервис
  6. Настроить мониторинг и бэкапы
  7. Выполнить проверочные тесты и задокументировать конфигурацию

Шпаргалка команд

  • Установка из AppStream:
sudo dnf install redis
sudo systemctl enable --now redis
  • Сборка и установка из исходников:
sudo dnf install epel-release -y
sudo dnf group install "Development Tools" -y
# зависимости...
cd /usr/src/
wget https://download.redis.io/releases/redis-6.2.5.tar.gz
tar -xzvf redis-6.2.5.tar.gz
cd redis-*/
sudo make BUILD_TLS=yes USE_SYSTEMD=yes
sudo make PREFIX=/usr install
  • Проверка:
redis-cli
auth <пароль>
ping
set key value
get key
  • Управление сервисом:
sudo systemctl daemon-reload
sudo systemctl enable redis-server
sudo systemctl start redis-server
sudo systemctl status redis-server
sudo systemctl restart redis-server

Примеры отказов и когда решение не подойдёт

  • AppStream версии слишком старые для ваших требований: используйте сборку из исходников или сторонние репозитории.
  • Нужна строгая многоуровневая авторизация: применяйте ACL, а не только requirepass.
  • Публичный доступ без TLS и фаервола недопустим.

Краткое руководство по миграции с другой ОС

  • Экспортируйте RDB/AOF и перенесите файлы в /var/lib/redis на новом сервере.
  • Проверьте версии Redis: несовместимость форматов RDB возможна между существенно разными версиями.
  • Тестируйте восстановление на стенде перед переносом в продакшн.

Короткая заметка о конфиденциальности

Redis по умолчанию хранит данные в памяти и на диске (RDB/AOF). Убедитесь, что доступ к файлам данных ограничен и что вы защищаете секреты в конфигурации. При требованиях GDPR храните персональные данные с учётом шифрования и политик удаления.

Заключение

Поздравляем — вы познакомились с двумя способами установки Redis на Rocky Linux, узнали о настройке systemd, базовой безопасности, переименовании/отключении опасных команд и методах проверки. Следующие шаги: настроить TLS, внедрить мониторинг и бэкап-процедуры, а также рассмотреть Sentinel или Redis Cluster для обеспечения высокой доступности и масштабирования.

Краткое напоминание: документируйте все изменения конфигурации и храните секреты отдельно от репозиториев кода.

Summary:

  • Установка через AppStream проще, но может содержать старые версии.
  • Сборка из исходников даёт гибкость и поддержку TLS.
  • Безопасность: ACL, TLS, переименование/отключение команд и ограничение доступа по сети.
  • Перед выводом в продакшн настройте бэкапы, мониторинг и проверку восстановления.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро