Redis — это хранилище структур данных в памяти с открытым исходным кодом. Его можно использовать в качестве базы данных, кеша и брокера сообщений, а также он поддерживает различные структуры данных, такие как строки, хэши, списки, наборы и т. д. Redis обеспечивает высокую доступность через Redis Sentinel, включая мониторинг, уведомления и автоматическое аварийное переключение. Он также обеспечивает автоматическое разбиение на несколько узлов Redis с помощью Redis Cluster.

В этом руководстве вы узнаете, как установить и настроить Redis на сервере Ubuntu.

Установка Redis в Ubuntu

Пакет Redis включен в репозитории Ubuntu 18.04 по умолчанию. Установка довольно проста, просто выполните следующие действия:

Начните с обновления списка подходящих пакетов, выполнив следующую команду в терминале SSH:

sudo apt update

Установите Redis, набрав:

sudo apt install redis-server

После завершения установки служба Redis запустится автоматически. Чтобы проверить статус службы, введите следующую команду:

sudo systemctl status redis-server

Поздравляем, на данный момент Redis установлен и работает на вашем сервере Ubuntu.

Настройка удаленного доступа Redis

По умолчанию Redis не разрешает удаленные подключения. Вы можете подключиться к серверу Redis только с 127.0.0.1 (localhost) — машины, на которой работает Redis.

Выполните следующие шаги, только если вы хотите подключиться к серверу Redis с удаленных хостов. Если вы используете установку с одним сервером, где приложение и Redis работают на одном компьютере, вам не следует включать удаленный доступ.

Чтобы настроить Redis для приема удаленных подключений, откройте файл конфигурации Redis в текстовом редакторе:

sudo nano /etc/redis/redis.conf

Найдите строку, которая начинается с bind 127.0.0.1 ::1и замените 127.0.0.1на 0.0.0.0.

/etc/redis/redis.conf

# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES
# JUST COMMENT THE FOLLOWING LINE.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bind 0.0.0.0 ::1

Сохраните файл и закройте редактор.

Перезапустите службу Redis, чтобы изменения вступили в силу:

sudo systemctl restart redis-server

Используйте следующую команду, чтобы убедиться, что Redis прослушивает все интерфейсы порта 6379:

ss -an | grep 6379

Вы должны увидеть что-то вроде того, что показано ниже. 0.0.0.0означает все адреса IPv4 на машине.

tcp  LISTEN 0   128   0.0.0.0:6379   0.0.0.0:*
tcp  LISTEN 0   128      [::]:6379      [::]:*  

Затем вам нужно добавить правило брандмауэра, разрешающее трафик с удаленных компьютеров через TCP-порт 6379.

Предполагая, что вы используете UFW для управления брандмауэром и хотите разрешить доступ из 192.168.121.0/24подсети, вы должны выполнить следующую команду:

sudo ufw allow proto tcp from 192.168.121.0/24 to any port 6379

На этом этапе сервер Redis будет принимать удаленные подключения через TCP-порт 6379.

Убедитесь, что ваш брандмауэр настроен на прием подключений только из доверенных диапазонов IP-адресов.

Чтобы убедиться, что все настроено правильно, вы можете попробовать пропинговать сервер Redis с вашего удаленного компьютера с помощью redis-cliутилиты:

redis-cli -h <REDIS_IP_ADDRESS> ping

Команда должна вернуть ответ PONG

Поздравляем, вы успешно установили Redis на свой сервер Ubuntu!