Введение
Redis — это хранилище структур данных в памяти с открытым исходным кодом. Он может использоваться в качестве базы данных, кэша и брокера сообщений и поддерживает различные структуры данных, такие как строки, хэши, списки, наборы и т. д. Redis предлагает высокую доступность через Redis Sentinel, включая мониторинг и автоматические уведомления об аварийном переключении. Он также обеспечивает автоматическое разбиение на несколько узлов Redis с помощью Redis Cluster.
В этом руководстве объясняется, как установить и настроить Redis на сервере CentOS 7.
Предпосылки
Прежде чем приступить к изучению руководства, убедитесь, что вы вошли в систему как пользователь с привилегиями 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 7
Пакет Redis не включен в репозитории CentOS по умолчанию. Мы установим Redis из репозитория 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 Tue 2020-01-28 17:31:09 CET; 1 day 17h ago
Process: 8673 ExecStop=/usr/libexec/redis-shutdown (code=exited, status=0/SUCCESS)
Main PID: 8687 (redis-server)
Tasks: 16 (limit: 12251)
Memory: 318.2M
CGroup: /system.slice/redis.service
├─ 8687 /usr/bin/redis-server 127.0.0.1:6379
├─13037./kinsing3FrCmny908
└─13193 /tmp/kdevtmpfsi
Служба Redis не запустится, если на сервере отключен IPv6.
Поздравляем, на данный момент 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.222.222
Убедитесь, что вы заменили 192.168.222.222
на свой IP-адрес. Сохраните файл и закройте редактор.
Перезапустите службу Redis, чтобы изменения вступили в силу:
sudo systemctl restart redis
Используйте следующую команду ss
, чтобы убедиться, что сервер Redis прослушивает частный интерфейс через порт 6379
:
ss -an | grep 6379
Вы должны увидеть примерно следующее:
tcp LISTEN 0 128 192.168.222.222: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.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 7. Для получения дополнительной информации о том, как использовать Redis, посетите страницу официальной документации.