Установка и настройка Redis на linux centos 9
Подробное руководство по установке, настройке и оптимизации Redis для linux centos 9
Введение
Redis (Remote Dictionary Server) - это высокопроизводительная in-memory база данных с открытым исходным кодом. Используется как кэширующий сервер, брокер сообщений и хранилище структур данных. В этом руководстве вы узнаете:
- Установку последней версии Redis из исходного кода
- Базовую настройку для production-среды
- Оптимизацию производительности
- Основные аспекты безопасности
Требования
Для выполнения руководства потребуется:
- Сервер с CentOS 9
- Права администратора (sudo или root)
- Минимум 512 MB оперативной памяти
- 1 ГБ свободного места на диске
- Базовые навыки работы с Linux CLI
Установка
Подготовка
Обновите систему и установите зависимости:
1sudo dnf update -y 2sudo dnf install -y gcc make openssl-devel systemd
Добавьте репозиторий EPEL:
1sudo dnf install epel-release -y
Процесс установки
Скачайте и распакуйте последнюю версию Redis:
1wget https://download.redis.io/redis-stable.tar.gz 2tar -xzvf redis-stable.tar.gz 3cd redis-stable
Скомпилируйте и установите:
1make 2sudo make install
Создайте системного пользователя и настройте директории:
1sudo adduser --system --group redis 2sudo mkdir /var/lib/redis 3sudo chown redis:redis /var/lib/redis
Настройте systemd сервис:
1sudo tee /etc/systemd/system/redis.service <<EOL 2[Unit] 3Description=Redis In-Memory Data Store 4After=network.target 5 6[Service] 7User=redis 8Group=redis 9ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf 10ExecStop=/usr/local/bin/redis-cli shutdown 11Restart=always 12 13[Install] 14WantedBy=multi-user.target 15EOL
Настройка
Основной конфигурационный файл:
1sudo mkdir /etc/redis 2sudo cp redis.conf /etc/redis/
Редактируем настройки:
1sudo nano /etc/redis/redis.conf
Основные параметры:
1bind 127.0.0.1 ::1 2port 6379 3daemonize yes 4requirepass YourStrongPasswordHere 5dir /var/lib/redis 6save 900 1 7save 300 10 8save 60 10000
Примените изменения и запустите:
1sudo systemctl daemon-reload 2sudo systemctl enable --now redis 3sudo firewall-cmd --permanent --add-port=6379/tcp 4sudo firewall-cmd --reload
Типичные ошибки и их решения
Ошибка: "Failed to start Redis service"
Решение: Проверьте права доступа к директории /var/lib/redis
1sudo chown -R redis:redis /var/lib/redis
Ошибка: "Connection refused"
Решение: Убедитесь что в конфиге отключена привязка только к localhost
1bind 0.0.0.0
Ошибка: "NOAUTH Authentication required"
Решение: Укажите пароль при подключении
1redis-cli -a YourStrongPasswordHere
Заключение
Вы успешно установили и настроили Redis на CentOS 9. Для дальнейшей оптимизации:
- Настройте репликацию для отказоустойчивости
- Включите мониторинг через redis-cli monitor
- Регулярно делайте бэкапы RDB файлов
- Обновляйте Redis до последней стабильной версии
Команды
Установка зависимостей
1sudo dnf install -y gcc make openssl-devel systemd epel-release
Проверка работы Redis
1redis-cli ping
Просмотр логов сервиса
1journalctl -u redis -f
Решение проблем
Сервис не запускается после изменения конфига
Проверьте синтаксис конфигурационного файла
1sudo redis-server /etc/redis/redis.conf --test
Недостаточно памяти для работы Redis
Увеличьте значение vm.overcommit_memory
sudo sysctl vm.overcommit_memory=1
Ошибки при сохранении на диск
Проверьте права доступа к /var/lib/redis
1sudo chown -R redis:redis /var/lib/redis