Установка и защита Redis на Ubuntu 18.04

Установка и настройка хранилища 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

 


Средняя оценка: 5,0, всего оценок: 1