Введение
Redis — это хранилище данных «ключ-значение» в памяти с открытым исходным кодом. Его можно использовать в качестве базы данных, кэша и брокера сообщений, а также он поддерживает различные структуры данных, такие как строки, хэши, списки, наборы и многое другое. Redis обеспечивает высокую доступность благодаря Redis Sentinel и автоматическому разделению между несколькими узлами Redis с помощью Redis Cluster.
В этом руководстве объясняется установка и настройка Redis в CentOS 8.
Предпосылки
Прежде чем приступить к изучению руководства, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo.
Если вы хотите установить Redis на удаленный сервер, продолжайте чтение, в противном случае пропустите первый абзац «Подключение к серверу» и читайте следующий.
Подключение к серверу
Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется ваше имя пользователя и пароль для аутентификации. Чтобы подключиться к серверу как root, введите следующую команду:
ssh root@IP_DEL_SERVER
Далее вам нужно будет ввести пароль пользователя root.
Если вы не используете пользователя root, вы можете войти под другим именем пользователя с помощью той же команды, а затем изменить root на свое имя пользователя:
ssh nome_utente@IP_DEL_SERVER
Затем вам будет предложено ввести пароль пользователя.
Стандартный порт для подключения по ssh — 22, если ваш сервер использует другой порт, вам нужно будет указать его с помощью параметра -p, затем введите следующую команду:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Установите Redis на CentOS 8
Чтобы установить пакет Redis, вам необходимо включить репозиторий Extra Packages for Enterprise Linux (EPEL), который предоставляет дополнительные пакеты программного обеспечения, не включенные в стандартные репозитории Red Hat и CentOS.
Включение репозитория EPEL в CentOS 8 — довольно простая операция, поскольку пакет EPEL rpm включен в дополнительный репозиторий CentOS.
Чтобы установить пакет выпуска EPEL, введите следующую команду:
sudo dnf install epel-release
Теперь вы можете установить пакет Redis, введите следующую команду:
sudo dnf install redis
После завершения установки включите и запустите службу Redis:
sudo systemctl enable --now redis
Чтобы проверить, работает ли сервер Redis, введите:
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 2020-02-22 14:13:31 CET; 3s ago
Main PID: 1605 (redis-server)
Tasks: 4 (limit: 12251)
Memory: 6.5M
CGroup: /system.slice/redis.service
└─1605 /usr/bin/redis-server 127.0.0.1:6379
Это все. Redis установлен и работает на сервере CentOS 8.
Настройка удаленного доступа Redis
По умолчанию Redis не разрешает удаленные подключения. Вы можете подключиться к серверу Redis только с 127.0.0.1 (localhost), машины, на которой работает Redis.
Если вы используете конфигурацию с одним сервером, в которой клиент, подключающийся к базе данных, также работает на том же хосте, вам не нужно разрешать удаленный доступ.
Чтобы настроить Redis для приема удаленных подключений, откройте файл конфигурации Redis в текстовом редакторе:
sudo vi /etc/redis.conf
Найдите строку, начинающуюся с bind 127.0.0.1
, а затем добавьте частный IP-адрес вашего сервера 127.0.0.1
.
bind 127.0.0.1 192.168.222.222
Убедитесь, что вы заменили 192.168.222.222
на свой IP-адрес. Сохраните файл и закройте редактор.
Если вы хотите, чтобы Redis прослушивал все интерфейсы, просто закомментируйте строку привязки.
Перезапустите службу Redis, чтобы изменения вступили в силу:
sudo systemctl restart redis
Используйте следующую команду ss
, чтобы убедиться, что сервер Redis прослушивает частный интерфейс через порт 6379
:
ss -an | grep 6379
Вы должны увидеть примерно следующее:
tcp LISTEN 0 128 192.168.222.222:6379 0.0.0.0:*
tcp LISTEN 0 128 127.0.0.1:6379 0.0.0.0:*
Настроить брандмауэр
Далее, если у вас включен брандмауэр, вам необходимо настроить его для разрешения трафика с TCP-порта 6379
.
Как правило, вы хотите разрешить доступ к серверу Redis только с определенного IP-адреса или диапазона IP-адресов. Например, чтобы разрешить подключения только с 192.168.222.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.222.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 8. Для получения дополнительной информации о том, как использовать Redis, посетите страницу официальной документации.