Установка и настройка хранилища Redis на виртуальном сервере Ubuntu 18.04.
Что это такое?
Redis является хранилищем данных в памяти, обычно используется в качестве базы данных, кэша и брокера сообщений. Поддерживаются различные структуры данных, такие как строки, хэши, списки, наборы.
Преимущества:
- высокая скорость;
- GitHub, Weibo, Pinterest, Snapchat, Craigslist, Digg, StackOverflow, Flickr выбрали это хранилище;
- поддерживается практически всеми языками программирования, в том числе JavaScript, Java, Go, C, C++, C#, Python, Objective-C, PHP;
- имеет открытый исходный код.
Установка и конфигурация Redis
Первоначальные требования: действия выполняются от имени пользователя с правами sudo.
Для успешной установки Redis выполните обновление локальной базы пакетов:
sudo apt update
sudo apt upgrade
Для загрузки и установки Redis выполните следующую команду:
sudo apt install redis-server
С помощью текстового редактора, например vi, откройте конфигурационный файл, который генерируется автоматически:
sudo vi /etc/redis/redis.conf
С помощью поиска найдите параметр supervised. Значение параметра указывает на систему инициализации, по умолчанию имеет значение no, необходимо заменить это значение на systemd:
supervised systemd
Перезагрузите СУБД:
sudo systemctl restart redis.service
Проверка Redis
Для того, чтобы убедиться, что сервер работает, выполните следующую команду:
sudo systemctl status redis
Результат:
● redis-server.service - Advanced key-value store Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor pre Active: active (running) since Thu 2018-10-11 14:31:06 MSK; 33min ago Docs: http://redis.io/documentation, man:redis-server(1) Process: 23557 ExecStop=/bin/kill -s TERM $MAINPID (code=exited, status=0/SUCC Process: 23561 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exi Main PID: 23581 (redis-server) Tasks: 4 (limit: 4915) CGroup: /system.slice/redis-server.service └─23581 /usr/bin/redis-server 127.0.0.1:6379 Oct 11 14:31:06 Ubuntu1804x64 systemd[1]: Starting Advanced key-value store... Oct 11 14:31:06 Ubuntu1804x64 systemd[1]: redis-server.service: Can't open PID f Oct 11 14:31:06 Ubuntu1804x64 systemd[1]: Started Advanced key-value store.
Чтобы проверить корректность работы Redis, подключитесь к серверу с помощью клиента командной строки:
redis-cli
Проверьте соединение с помощью команды ping:
127.0.0.1:6379> ping
PONG
Результат PONG подтверждает, что соединение с сервером установлено. Затем убедитесь, что установка ключей Redis доступна:
127.0.0.1:6379> set test "1cloud"
OK
Теперь получите заданное значение, также после перезапуска сервера значение должно сохраниться:
127.0.0.1:6379> get test
1cloud
Для выхода из клиента используйте сочетание клавиш Ctrl+С или команду:
127.0.0.1:6379> exit
Установка пароля
Для увеличения безопасности хранилища рекомендуем установить пароль, для этого откройте файл конфигурации:
sudo vi /etc/redis/redis.conf
Найдите следующую строку:
# requirepass foobared
Раскомментируйте строку, удалив #, и измените значение параметра requirepass на безопасный пароль:
requirepass <пароль>
Перезагрузите СУБД:
sudo systemctl restart redis.service
Для подключения по паролю используйте ключ a:
redis-cli -a <пароль>
Удаленное подключение
Иногда бывает удобно выполнять удаленное подключение к Redis, для этого откройте файл конфигурации:
sudo vi /etc/redis/redis.conf
Найдите следующую строку:
# bind 127.0.0.1 ::1
Раскомментируйте и замените адрес, 0.0.0.0 - подключнию с любого IP, если указать конкретный IP, то сможете подключаться именно с него:
bind 0.0.0.0
Перезагрузите СУБД:
sudo systemctl restart redis.service
Не забудьте открыть порт, на котором запущен сервер, с помощью iptables, например:
iptables -A INPUT -p tcp --dport 6379 -j ACCEPT
Для удаленного подключения используйте следующую команду:
redis-cli -h <ip-адрес> -p <порт>
Например:
redis-cli -h 5.200.56.169 -p 6379