Как установить конфигурацию Redis на HestiaCP

Redis на VPS с HestiaCP удобен как object cache для WordPress: горячие данные живут в RAM, PHP и MySQL меньше дёргаются на одних и тех же запросах. Ниже – практичная установка redis-server, настройка памяти, PHP-расширения и плагина Redis Object Cache.

Что такое Redis и зачем он WordPress

Redis – in-memory хранилище структур данных. Его используют как быстрый кэш или как БД для отдельных задач. В WordPress object cache (WP_Object_Cache) может складывать результат тяжёлых запросов и опций не на диск, а в Redis: повторное чтение идёт из памяти.

php-redis (расширение PHP) даёт API, через который PHP-код и плагины общаются с Redis. Без расширения плагины object cache обычно не подключатся.

План: SSH → redis-server → redis.conf → php-redis → проверка → Redis Object Cache в WordPress.

Шаг 1. SSH на сервер

Подключитесь к VPS по SSH под пользователем с sudo (как правило root или админ Hestia). Все команды ниже выполняются на сервере, не в контейнере сайта.

Шаг 2. Установка redis-server

На Debian/Ubuntu:

sudo apt update
sudo apt install redis-server
Установка redis-server через apt

Проверьте, что Redis слушает порт 6379 на localhost:

netstat -nltp | grep redis
# или: ss -lntp | grep 6379
redis слушает 127.0.0.1:6379

Ожидаемый вид: 127.0.0.1:6379 в состоянии LISTEN. Наружу порт лучше не открывать без необходимости и без пароля/ACL.

Шаг 3. Настройка redis.conf

Откройте конфиг (путь на большинстве VPS):

sudo nano /etc/redis/redis.conf

Задайте лимит памяти и политику вытеснения. Для object cache обычно хватает allkeys-lru: при заполнении Redis удаляет редко используемые ключи.

maxmemory 256mb
maxmemory-policy allkeys-lru
maxmemory 256mb в redis.conf
  • maxmemory 256mb – потолок RAM для Redis; на VPS с запасом памяти можно поднять (512mb, 1gb), но не отдавайте под кэш всю оперативку;
  • maxmemory-policy allkeys-lru – вытеснение по LRU среди всех ключей.
maxmemory-policy allkeys-lru

Сохраните файл и перезапустите сервис:

sudo systemctl restart redis-server
sudo systemctl status redis-server

Шаг 4. PHP-расширение redis

Поставьте пакет расширения (на Hestia часто тянет php*-redis под активные версии PHP):

sudo apt install php-redis
Установка php-redis

Если модуль не подхватился для нужной версии PHP, включите его явно (пример для PHP-FPM 8.2) и перезапустите FPM/Hestia-пул:

# пример: проверить модуль
php -m | grep -i redis
# при необходимости: phpenmod redis && systemctl restart php8.2-fpm

Шаг 5. Проверка Redis

Локальный клиент:

redis-cli
ping
# ответ: PONG
exit
redis-cli ping PONG

Шаг 6. WordPress: Redis Object Cache

На стороне сайта (для WordPress) удобен плагин Redis Object Cache. Перед включением добавьте в wp-config.php префикс ключей и флаг кеша (префикс берите уникальный для сайта, чтобы не смешивать ключи на общем Redis):

define( 'WP_REDIS_PREFIX', 'example.site:' );
define( 'WP_CACHE', true );
WP_REDIS_PREFIX и WP_CACHE в wp-config.php

Дальше: установите и активируйте плагин → раздел Настройки → Redis (или Плагины → Redis, зависит от версии) → Enable Object Cache. Статус должен стать Connected. Если нет – проверьте, что redis-server запущен, php-redis виден той же версией PHP, что обслуживает сайт, и в wp-config.php нет опечаток.

Короткий чеклист

  1. redis-server установлен и слушает 127.0.0.1:6379
  2. В redis.conf заданы maxmemory и maxmemory-policy, сервис перезапущен
  3. php -m | grep redis показывает модуль для PHP сайта
  4. redis-cli ping → PONG
  5. В wp-config есть WP_REDIS_PREFIX / WP_CACHE, плагин в статусе Connected

Источники и ссылки


Комментарии загружаются…