Redis — это хранилище структур данных в памяти с открытым исходным кодом. Он может использоваться как база данных, кеш и брокер сообщений и поддерживает различные структуры данных, такие как строки, хэши, списки, наборы и т. Д. Redis обеспечивает высокую доступность через Redis Sentinel, включая мониторинг, уведомления и автоматическое переключение при отказе. Он также обеспечивает автоматическое разбиение на несколько узлов Redis с Redis Cluster.
В этом руководстве объясняется, как установить и настроить Redis на сервере CentOS 7.
Содержание
Подготовка
Перед тем, как начать работу с руководством, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo .
Установка Redis на CentOS 7
Пакет Redis не включен в репозитории CentOS по умолчанию. Мы будем устанавливать Redis версии 5.0.2 из репозитория Remi.
Установка довольно проста, просто выполните следующие действия:
-
Начните с включения репозитория Remi, выполнив следующие команды в своем SSH-терминале:
sudo yum install epel-release yum-utils
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum-config-manager --enable remi
-
Установите пакет Redis, набрав:
sudo yum install redis
-
После завершения установки запустите службу Redis и включите ее автоматический запуск при загрузке с помощью:
sudo systemctl start redis
sudo systemctl enable redis
Created symlink from /etc/systemd/system/multi-user.target.wants/redis.service to /usr/lib/systemd/system/redis.service.
Чтобы проверить статус службы, введите следующую команду:
sudo systemctl status redis
Вы должны увидеть что-то вроде следующего:
● redis.service - Redis persistent key-value database Loaded: loaded (/usr/lib/systemd/system/redis.service; enabled; vendor preset: disabled) Drop-In: /etc/systemd/system/redis.service.d └─limit.conf Active: active (running) since Sat 2018-11-24 15:21:55 PST; 40s ago Main PID: 2157 (redis-server) CGroup: /system.slice/redis.service └─2157 /usr/bin/redis-server 127.0.0.1:6379
Поздравляем, на данный момент у вас установлен и запущен Redis на вашем сервере CentOS 7.
Настроить удаленный доступ Redis
По умолчанию Redis не разрешает удаленные подключения. Вы можете подключиться к серверу Redis только с 127.0.0.1 (localhost) — машины, на которой запущен Redis.
Выполните следующие шаги, только если вы хотите подключиться к серверу Redis с удаленных хостов. Если вы используете настройку с одним сервером, где приложение и Redis работают на одном компьютере, вам не следует включать удаленный доступ.
Чтобы настроить Redis для приема удаленных подключений, откройте файл конфигурации Redis в текстовом редакторе:
sudo nano /etc/redis.conf
Найдите строку, которая начинается с bind 127.0.0.1
и добавьте частный IP-адрес вашего сервера после 127.0.0.1
.
# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES
# JUST COMMENT THE FOLLOWING LINE.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bind 127.0.0.1 192.168.121.233
Убедитесь, что вы заменили 192.168.121.233
своим IP-адресом. Сохраните файл и закройте редактор.
Перезапустите службу Redis, чтобы изменения вступили в силу:
sudo systemctl restart redis
Используйте следующую команду ss
чтобы убедиться, что сервер Redis прослушивает ваш частный интерфейс через порт 6379
:
ss -an | grep 6379
Вы должны увидеть примерно следующее:
tcp LISTEN 0 128 192.168.121.233:6379 *:*
tcp LISTEN 0 128 127.0.0.1:6379 *:*
Затем вам нужно добавить правило брандмауэра, которое разрешает трафик с ваших удаленных машин на TCP-порт 6379
.
Предполагая, что вы используете FirewallD
для управления своим брандмауэром и хотите разрешить доступ из подсети 192.168.121.0/24
вы должны выполнить следующие команды:
sudo firewall-cmd --new-zone=redis --permanent
sudo firewall-cmd --zone=redis --add-port=6379/tcp --permanent
sudo firewall-cmd --zone=redis --add-source=192.168.121.0/24 --permanent
sudo firewall-cmd --reload
Приведенные выше команды создают новую зону с именем redis
, открывают порт 6379
и разрешают доступ из частной сети.
На этом этапе сервер Redis будет принимать удаленные подключения через TCP-порт 6379.
Убедитесь, что ваш брандмауэр настроен на прием подключений только из доверенных диапазонов IP-адресов.
Чтобы убедиться, что все настроено правильно, вы можете попробовать проверить связь с сервером Redis с удаленного компьютера с помощью redis-cli
которая предоставляет интерфейс командной строки для сервера Redis:
redis-cli -h <REDIS_IP_ADDRESS> ping
Команда должна вернуть ответ PONG
:
PONG
Выводы
Поздравляем, вы успешно установили Redis на свой сервер CentOS 7. Чтобы узнать больше о том, как использовать Redis, посетите их официальную страницу документации .
Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.
спс