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 10 | Valkey | 8.0.x | Большинство пользователей Rocky 10, нужен FOSS-совместимый вариант |
| Redis (AppStream) | Rocky 9 | Redis | 6.2.x | Стабильность на Rocky 9 |
| Redis (AppStream) | Rocky 8 | Redis | 5.0 или 6.0 | Стабильность на Rocky 8 |
| Redis (Remi RPM) | Rocky 8, 9, 10 | Redis | 7.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 в конфигурационном файле