Установка Redis и Valkey на Rocky Linux: полное руководство

Redis — это высокопроизводительное хранилище данных в памяти, широко используемое для кэширования, управления сессиями, реальной аналитики и брокеринга сообщений. Начиная с Rocky Linux 10, дистрибутив заменил Redis на Valkey в репозитории AppStream. Valkey — это открытая форк-версия, созданная после изменения лицензии Redis на SSPL (не полностью Open Source). Valkey полностью совместим с командами и протоколами Redis, поэтому существующие приложения и конфигурации работают без изменений.

💡 Если вашему приложению (WordPress, Laravel, Django) нужно быстрое кэширование или управление сессиями — Redis/Valkey обеспечат высокую производительность и низкую задержку.

В этом руководстве мы установим и настроим Valkey или Redis на Rocky Linux 8, 9 и 10. Вы узнаете:

  • В чём разница между Valkey и Redis, и что выбрать
  • Как установить Valkey на Rocky Linux 10 (рекомендованный способ)
  • Как установить Redis из AppStream на Rocky 8 и 9
  • Как установить свежие версии Redis из репозитория Remi
  • Как настроить память, политику вытеснения и аутентификацию
  • Как настроить файрвол для удалённого доступа

Для кого: веб-разработчики (кэширование данных, сессии), сисадмины (оптимизация производительности приложений), DevOps (настройка очередей и брокеров).


Оглавление

1. Выбор метода установки

МетодВерсия RockyПакетВерсияДля кого
Valkey (DNF)Rocky 10Valkey8.0.xБольшинство пользователей Rocky 10, нужен FOSS-совместимый вариант
Redis (AppStream)Rocky 9Redis6.2.xСтабильность на Rocky 9
Redis (AppStream)Rocky 8Redis5.0 или 6.0Стабильность на Rocky 8
Redis (Remi RPM)Rocky 8, 9, 10Redis7.2 – 8.4Тем, кто хочет именно Redis, а не Valkey, или нужны свежие версии

💡 Вывод для новичка: На Rocky Linux 10 рекомендуется Valkey — он поставляется в стандартном репозитории, не требует сторонних настроек и полностью совместим с Redis. На Rocky 8 и 9 можно использовать штатный Redis из AppStream. Устанавливайте Redis из Remi, только если вам нужна именно Redis (а не Valkey) или более новая версия.


2. Подготовка системы

2.1 Обновление системы

sudo dnf upgrade --refresh -y

Что делает:

  • sudo — права суперпользователя.
  • dnf upgrade — обновляет все пакеты до последних версий.
  • --refresh — принудительно перекачивает метаданные репозиториев (игнорирует кэш).
  • -y — автоматически отвечает «yes».

Зачем: Это стандартная практика безопасности перед установкой нового ПО. Снижает риск конфликтов зависимостей.

2.2 Установка dnf-plugins-core (если ещё не установлен)

sudo dnf install -y dnf-plugins-core

Что делает: Устанавливает набор плагинов для DNF, включая команду config-manager.

Зачем: Понадобится для управления репозиториями (включение CRB/PowerTools).


3. Метод 1: Установка Valkey на Rocky Linux 10 (рекомендовано)

Valkey доступен в стандартном репозитории Rocky Linux 10 AppStream и предоставляет ту же функциональность, что и Redis. Важно: Rocky Linux 10 не включает симлинки совместимости с Redis, поэтому вы будете использовать команды valkey-cli и valkey-server, а не традиционные redis-cli и redis-server.

3.1 Установка Valkey

sudo dnf install -y valkey

Что делает: Устанавливает сервер Valkey и CLI-инструменты.

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

valkey-server --version

Ожидаемый вывод (пример):

Valkey server v=8.0.6 sha=00000000:1 malloc=jemalloc-5.3.0 bits=64 build=27677fdfb54cc97

3.3 Запуск и включение автозагрузки

sudo systemctl enable valkey --now

Проверка статуса:

systemctl status valkey

Ожидаемый вывод:

● valkey.service - Valkey persistent key-value database
     Loaded: loaded (/usr/lib/systemd/system/valkey.service; enabled; preset: disabled)
     Active: active (running) since Fri 2026-01-10 12:00:00 UTC; 5s ago
   Main PID: 1234 (valkey-server)
      Tasks: 5 (limit: 23141)
     Memory: 7.5M
        CPU: 45ms

3.4 Проверка подключения

valkey-cli ping

Ожидаемый вывод:

PONG

Зачем: PONG подтверждает, что сервер работает и принимает команды.


4. Метод 2: Установка Redis из AppStream (Rocky 8 и 9)

4.1 Установка на Rocky Linux 9

Rocky Linux 9 предоставляет Redis через модуль stream 7 (Redis 6.2.x).

Проверка доступных модулей:

dnf module list redis

Установка:

sudo dnf install -y redis

4.2 Установка на Rocky Linux 8

Rocky Linux 8 предлагает Redis 5.0 (по умолчанию) и Redis 6.0 (альтернатива).

Проверка доступных модулей:

dnf module list redis

Установка Redis 6.0 (рекомендуется вместо устаревшего 5.0):

sudo dnf module enable redis:6 -y
sudo dnf install -y redis

Установка Redis 5.0 (по умолчанию):

sudo dnf install -y redis

4.3 Запуск и включение автозагрузки

sudo systemctl enable redis --now

Проверка статуса:

systemctl status redis

Проверка версии:

redis-server -v

Ожидаемый вывод (Rocky 9):

Redis server v=6.2.20 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=564f77c428d6e8ab

4.4 Проверка подключения

redis-cli ping

Ожидаемый вывод:

PONG

5. Метод 3: Установка Redis из репозитория Remi

Репозиторий Remi предоставляет последние стабильные версии Redis (7.2, 8.0, 8.2, 8.4). Этот метод доступен на всех версиях Rocky Linux и полезен, когда вам нужен именно Redis (а не Valkey) или более новая версия.

⚠️ На Rocky Linux 10: Установка Redis из Remi будет конфликтовать с Valkey. Если у вас уже установлен Valkey, удалите его: sudo dnf remove valkey.

5.1 Установка EPEL и Remi

Для Rocky Linux 10:

sudo dnf install -y epel-release
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-10.rpm

Для Rocky Linux 9:

sudo dnf config-manager --set-enabled crb
sudo dnf install -y epel-release
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm

Для Rocky Linux 8:

sudo dnf config-manager --set-enabled powertools
sudo dnf install -y epel-release
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm

5.2 Просмотр доступных версий Redis

dnf module list redis

Ожидаемый вывод (пример для Rocky 10):

Remi's Modular repository for Enterprise Linux 10 - x86_64
Name  Stream   Profiles   Summary                            
redis remi-7.2 common [d] Redis persistent key-value database
redis remi-8.0 common [d] Redis persistent key-value database
redis remi-8.2 common [d] Redis persistent key-value database
redis remi-8.4 common [d] Redis persistent key-value database

5.3 Включение нужной версии и установка

Для последней версии (Redis 8.4):

sudo dnf module enable redis:remi-8.4 -y
sudo dnf install -y redis

Для Redis 7.2 (стабильная, широко поддерживаемая):

sudo dnf module enable redis:remi-7.2 -y
sudo dnf install -y redis

5.4 Запуск и проверка

sudo systemctl enable redis --now
redis-server -v

Ожидаемый вывод (Redis 8.4):

Redis server v=8.4.0 sha=00000000:0 malloc=jemalloc-5.3.0 bits=64 
build=f7fadcec9189b92
redis-cli ping

Ожидаемый вывод:

PONG

6. Работа с командной строкой

6.1 Подключение к серверу

Для Valkey (Rocky 10):

valkey-cli

Для Redis (Rocky 8/9 или Remi):

redis-cli

Вы увидите приглашение:

127.0.0.1:6379>

6.2 Базовые операции

PING

Ожидаемый вывод:

PONG

Затем сохраните пару «ключ-значение»:

SET greeting "Hello from Rocky Linux"

Ожидаемый вывод:

OK

Затем извлеките сохраненное значение:

GET greeting

Ожидаемый вывод:

"Hello from Rocky Linux"

Затем удалите ключ:

DEL greeting

Ожидаемый вывод:

(integer) 1

Выход:

QUIT

7. Настройка Valkey или Redis

7.1 Расположение файлов конфигурации

УстановкаПуть к конфигу
Valkey (Rocky 10)/etc/valkey/valkey.conf
Redis (AppStream или Remi)/etc/redis/redis.conf

Открытие конфигурации (пример для Redis):

sudo nano /etc/redis/redis.conf

7.2 Установка лимита памяти

По умолчанию Valkey и Redis используют всю доступную память. Для продакшен-систем установите лимит:

maxmemory 512mb

Распространённые значения: 256mb, 512mb, 1gb, 2gb.

7.3 Настройка политики вытеснения

Когда сервер достигает лимита памяти, он должен решать, какие ключи удалять.

ПолитикаОписание
allkeys-lruУдаляет наименее используемые ключи из всех. Лучше для общего кэширования.
volatile-lruУдаляет наименее используемые ключи среди имеющих TTL. Для смешанных данных.
allkeys-lfuУдаляет наименее часто используемые ключи.
noevictionВозвращает ошибку при заполнении памяти. Для данных, которые нельзя терять.
maxmemory-policy allkeys-lru

7.4 Настройка сетевых привязок

По умолчанию сервер слушает только 127.0.0.1 (локальный доступ). Для доступа с других машин укажите IP-адреса:

bind 127.0.0.1 192.168.1.100

⚠️ Важно: bind 0.0.0.0 открывает доступ к серверу из любой сети. Не делайте этого без аутентификации и правил файрвола — порт 6379 часто сканируется злоумышленниками для атак на незащищённые инстансы.

7.5 Установка пароля

requirepass YourStrongPasswordHere

Подключение с паролем:

valkey-cli -a YourStrongPasswordHere   # для Valkey
redis-cli -a YourStrongPasswordHere    # для Redis

Альтернатива (безопаснее, пароль не виден в истории команд):

valkey-cli
AUTH YourStrongPasswordHere

7.6 Применение изменений

# Для Valkey
sudo systemctl restart valkey

# Для Redis
sudo systemctl restart redis

8. Настройка файрвола (firewalld)

Если вы настроили bind на внешний IP и хотите разрешить доступ с других машин:

8.1 Разрешить сервис Redis (порт 6379)

sudo firewall-cmd --permanent --zone=public --add-service=redis
sudo firewall-cmd --reload

8.2 Разрешить только с конкретного IP

sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="6379" accept'
sudo firewall-cmd --reload

8.3 Разрешить целую подсеть

sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="6379" accept'
sudo firewall-cmd --reload

8.4 Проверка правил

sudo firewall-cmd --list-all

9. Диагностика проблем

9.1 Сервис не запускается после изменения конфига

Проверка логов:

# Для Valkey
sudo journalctl -xeu valkey

# Для Redis
sudo journalctl -xeu redis

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

# Для Valkey
valkey-server /etc/valkey/valkey.conf

# Для Redis
redis-server /etc/redis/redis.conf

Если есть ошибки, сервер покажет строку и номер проблемы. Нажмите Ctrl+C после проверки.

9.2 Не удаётся подключиться с удалённой машины

Проверка, на каком интерфейсе слушает сервер:

ss -tlnp | grep 6379

Если видно только 127.0.0.1:6379 — сервер слушает только локальный интерфейс. Обновите bind в конфиге.

Проверка файрвола:

sudo firewall-cmd --list-services | grep redis

Тест подключения с удалённой машины:

redis-cli -h 192.168.1.100 -p 6379 ping

9.3 Предупреждение о настройках памяти

Ошибка: WARNING overcommit_memory is set to 0! Background save may fail under low memory condition.

Решение (временно):

sudo sysctl vm.overcommit_memory=1

Решение (постоянно):

echo "vm.overcommit_memory = 1" | sudo tee -a /etc/sysctl.conf

9.4 Конфликт модулей при установке из Remi

Ошибка: Конфликт между AppStream и Remi.

Решение:

sudo dnf module reset redis -y
sudo dnf module enable redis:remi-8.4 -y
sudo dnf install redis -y

10. Удаление Valkey или Redis

10.1 Удаление Valkey (Rocky 10)

sudo systemctl stop valkey
sudo dnf remove valkey -y
sudo dnf autoremove -y
sudo rm -rf /etc/valkey /var/lib/valkey /var/log/valkey

10.2 Удаление Redis (AppStream или Remi)

sudo systemctl stop redis
sudo dnf remove redis -y
sudo dnf autoremove -y
sudo dnf module reset redis -y   # если устанавливали из Remi
sudo rm -rf /etc/redis /var/lib/redis /var/log/redis

10.3 Проверка удаления

which valkey-server   # для Valkey
which redis-server    # для Redis

Ожидаемый вывод: (пусто, команда не найдена)


Чек-лист: всё готово к работе

# 1. Проверка версии (для Valkey)
valkey-server --version

# 2. Проверка версии (для Redis)
redis-server -v

# 3. Проверка статуса сервиса
systemctl status valkey   # или redis

# 4. Проверка подключения
valkey-cli ping           # или redis-cli ping

# 5. Проверка, что сервис включен в автозагрузку
systemctl is-enabled valkey   # или redis

Заключение

Вы установили и настроили Valkey или Redis на Rocky Linux с ограничением памяти, аутентификацией и правилами файрвола.

Что теперь есть в системе:

  • ✅ Работающий сервер Valkey или Redis
  • ✅ Автозапуск при загрузке системы
  • ✅ Настроенные лимиты памяти и политика вытеснения
  • ✅ Парольная аутентификация
  • ✅ Правила файрвола для удалённого доступа (опционально)

Что дальше:

  • Для использования с PHP установите расширение php-redis
  • Для WordPress установите плагин Redis Object Cache
  • Для Laravel настройте config/database.php для использования Redis
  • Настройте резервное копирование RDB или AOF в конфигурационном файле

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *