Как установить Redis на Ubuntu 20.04
Это руководство существует для этих версий ОС
- Ubuntu 18.04 (Бионический бобер)
На этой странице
- Шаг 1. Установите сервер Redis
- Шаг 2. Базовая настройка Redis Server
- Шаг 3. Защита установки Redis
- 1. Сетевая безопасность
- 2. Аутентификация по паролю
- 3. Отключение опасной команды Redis
- 1. Хост тестирования и аутентификация
- 2. Тестирование отключено/переименована команда
Redis — это хранилище ключей и значений в памяти с открытым исходным кодом, используемое в качестве базы данных, кэша и брокера сообщений. Это распределенная база данных «ключ-значение» в памяти с дополнительной надежностью. Он поддерживает распространенные структуры данных, такие как строки, хэши, списки, наборы, растровые изображения, отсортированные наборы, журналы HyperlogLog, потоки и геопространственные индексы с запросами радиуса.
В этом руководстве мы покажем вам, как установить и настроить Redis Server в Ubuntu 20.04 LTS. Сначала мы установим сервер Redis, а затем защитим установку, чтобы подготовить ее к работе.
Предпосылки
В этом руководстве мы установим сервер Redis на Ubuntu 20.04 с 1 ГБ ОЗУ и 2 ядрами ЦП. Это только для тестирования, и вам понадобится больше, чем это для вашего производства.
Что мы будем делать:
- Установить сервер Redis
- Базовая конфигурация сервера Redis
- Защита сервера Redis
- Тестирование
Шаг 1 — Установите сервер Redis
Во-первых, мы обновим все репозитории в системе Ubuntu и обновим все пакеты.
Запустите приведенные ниже команды apt.
sudo apt update
sudo apt upgradeПосле этого установите пакет Redis-сервера из официального репозитория Ubuntu с помощью приведенной ниже команды apt.
sudo apt install redis-server
После завершения установки вы получите сообщение об ошибке о том, что служба Redis не запускается, проигнорируйте сообщение об ошибке, и мы настроим его на следующем шаге.
Шаг 2 — Базовая конфигурация сервера Redis
На этом этапе мы собирались настроить базовый сервер Redis. В системе Linux конфигурация Redis находится в каталоге /etc/redis.
Перейдите в каталог /etc/redis и отредактируйте файл конфигурации redis.conf с помощью редактора vim.
cd /etc/redis/
vim redis.confВо-первых, нам нужно выбрать IP-адрес привязки, на котором будет работать служба Redis. Не рекомендуется использовать общедоступный IP-адрес для службы Redis, или, если вы используете несколько/кластерную службу Redis, вам следует использовать внутреннюю сеть.
Измените адрес привязки на IP-адрес локального хоста для этого примера.
bind 127.0.0.1
После этого нам нужно настроить, как служба Redis будет работать на сервере. Поскольку мы использовали сервер Ubuntu и systemd, нам нужно изменить конфигурацию контролируемой линии на systemd.
supervised systemd
Сохранить и закрыть.
Теперь перезапустите службу Redis и добавьте ее во время загрузки.
systemctl restart redis-server
systemctl enable redis-serverТеперь убедитесь, что нет ошибки, а затем проверьте ее статус.
systemctl status redis-server
В результате служба Redis запущена и работает на сервере Ubuntu 20.04.
Теперь проверьте порт Redis по умолчанию 6379, используя приведенную ниже команду netstat.
ss -plnt4
И вы получите результат, что служба Redis работает на IP-адресе локального хоста со значением по умолчанию 6379.
Теперь проверьте Redis, используя команды redis-cli, как показано ниже.
redis-cli ping
redis-cli ping "Hello Redis"И вы получите результат, как показано ниже.
Если ваша установка выполнена правильно, вы получите ответ Redis Server с помощью PONG или ответ с текстом, который вы ввели после параметра ping.
Базовая установка и настройка сервера Redis успешно завершены.
Шаг 3 — Защита установки Redis
На этом этапе мы собирались защитить нашу установку Redis. Есть 3 вещи, которые вы должны знать о защите сервера Redis.
1. Безопасность сети
Сетевая безопасность для сервера Redis связана с конфигурацией привязки в конфигурации Redis в файле redis.conf. Рекомендуется использовать внутреннюю частную сеть для установки Redis и не использовать общедоступную.
Перейдите в каталог /etc/redis и отредактируйте файл конфигурации redis.conf.
cd /etc/redis/
vim redis.confВ разделе привязки измените IP-адрес на собственный IP-адрес внутренней сети.
bind INTERNAL-IP-ADDRESS
Сохранить и закрыть.
И теперь служба Redis будет работать под ВНУТРЕННИМ IP-АДРЕСОМ.
2. Аутентификация по паролю
Аутентификация по паролю для Redis даст вам контроль доступа к вашему серверу Redis. Это небольшой уровень безопасности, который повысит безопасность вашего сервера Redis, и он еще не включен при установке по умолчанию.
Чтобы включить аутентификацию по паролю для сервера Rediser, вам нужно раскомментировать раздел requirepass в файле redis.conf и ввести после него надежный пароль.
requirepass HakaseLabsRedisPasswd
Измените HakaseLabsRedisPasswd на надежный пароль. И теперь аутентификация по паролю для Redis включена.
3. Отключение опасной команды Redis
Redis предоставляет функцию отключения некоторых определенных команд Redis. Эту функцию можно использовать для переименования или отключения некоторых опасных команд, таких как FLUSHALL для удаления всех данных, команда CONFIG для настройки параметра конфигурации через интерфейс командной строки Redis и т. д.
Чтобы изменить или отключить команду Redis, вы можете использовать параметр rename-command. Отредактируйте файл конфигурации Redis redis.conf и добавьте некоторые конфигурации ниже.
# rename-command COMMAND "CUSTOM"
rename-command FLUSHALL "DELITALL"
rename-command CONFIG "MYSERVERCONF"Сохранить и закрыть.
Когда все будет готово, перезапустите службу Redis с помощью приведенной ниже команды systemctl.
systemctl restart redis-server
И базовая безопасность Redis для защиты установки Redis была применена к нашему хосту.
Другое соображение: вам также может понадобиться поддержка шифрования данных для Redis, а также безопасное кодирование, необходимое на стороне приложения.
Шаг 4 — Тестирование
На этом этапе мы собирались протестировать наше развертывание Redis Server с помощью командной строки redis-cli.
1. Хост тестирования и аутентификация
Подключитесь к серверу Redis с помощью команды redis-cli, указав имя хоста/IP-адрес сервера redis и порт.
redis-cli -h 127.0.0.1 -p 6379
Измените 127.0.0.1 на свой собственный IP-адрес.
Как только вы подключитесь к серверу, попробуйте выполнить команду ping.
ping
ping "Hello Redis"Теперь вы получите результат, как показано ниже.
Вы получаете сообщение об ошибке, потому что вам необходимо пройти аутентификацию перед вызовом любой команды в оболочке Redis CLI.
Выполните следующую команду для аутентификации на сервере Redis.
AUTH HakaseLabsRedisPasswd
После аутентификации вы можете попробовать команду ping, и вы получите ответ от сервера Redis.
ping
ping "Hello Redis"Ниже приведен результат после аутентификации на сервере Redis.
2. Тестирование отключенной/переименованной команды
Запустите все команды, которые мы переименовали в оболочке, и вы получите ошибку команды.
FLUSHALL
CONFIGНиже приведен результат ошибки этих команд.
Затем запустите команды CUSTOM для каждого.
Создайте новый ключ с помощью команды redis-cli, как показано ниже.
SET Name "Hakase Labs"
SET Blog "Howtoforge.com"
Keys *Теперь удалите все ключи и данные с помощью переименованной команды FLUSHALL DELITALL.
DELITALL
Для команды CONFIG вы можете попытаться получить или установить новое значение конфигурации Redis Server. Команда CONFIG переименована в MYSERVERCONF.
MYSERVERCONF get bind
MYSERVERCONF get requirepassИ ниже результат этих новых переименованных пользовательских команд.
Базовая установка Redis Server в Ubuntu 20.04 завершена, и базовая безопасность для Redis Server применена.
Ссылка
- https://redis.io/documentation