Введение
Redis — это хранилище структур данных в памяти с открытым исходным кодом. Он может использоваться в качестве базы данных, кэша и брокера сообщений и поддерживает различные структуры данных, такие как строки, хэши, списки, наборы и т. д. Redis обеспечивает высокую доступность с помощью Redis Sentinel, включая мониторинг и автоматические уведомления об аварийном переключении. Он также обеспечивает автоматическое разбиение на несколько узлов Redis с помощью Redis Cluster.
В этом руководстве описывается, как установить и настроить Redis на сервере Ubuntu 18.04. Те же инструкции относятся к Ubuntu 16.04 и любому дистрибутиву на основе Ubuntu.
Предпосылки
Прежде чем приступить к изучению руководства, убедитесь, что вы вошли в систему как пользователь с привилегиями 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 на Ubuntu
Пакет Redis включен в репозитории Ubuntu 18.04 по умолчанию. Установка довольно проста, просто выполните следующие действия:
Начните с обновления списка пакетов apt, выполнив следующую команду в терминале SSH:
sudo apt update
Установите Redis, набрав:
sudo apt install redis-server
После завершения установки служба Redis запустится автоматически. Чтобы проверить статус службы, введите следующую команду:
sudo systemctl status redis-server
Вы должны увидеть что-то вроде этого:
● redis-server.service - Advanced key-value store
Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2018-10-28 05:10:45 PDT; 2h ago
Docs: http://redis.io/documentation,
man:redis-server(1)
Process: 2197 ExecStop=/bin/kill -s TERM $MAINPID (code=exited, status=0/SUCCESS)
Process: 2201 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS)
Main PID: 2226 (redis-server)
Tasks: 4 (limit: 2319)
CGroup: /system.slice/redis-server.service
`-2226 /usr/bin/redis-server 0.0.0.0:6379
Служба Redis не запустится, если на сервере отключен IPv6.
Поздравляем, на данный момент Redis установлен и работает на вашем сервере Ubuntu 18.04.
Настройка удаленного доступа 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
.
# 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
Сохраните и закройте файл, нажав CTRL + X, затем Y, чтобы сохранить изменения, а затем ENTER, если вы используете nano.
Перезапустите службу 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
:
PONG
Вывод
Вы успешно установили Redis на свой сервер Ubuntu 18.04. Для получения дополнительной информации о том, как управлять установкой Redis, посетите официальную страницу документации Redis.