Поиск по сайту:

Как установить сервер Redis на CentOS 8


Это руководство существует для этих версий ОС

  • CentOS 8
  • CentOS 7

На этой странице

  1. Предпосылки
  2. Установить сервер Redis
  3. Настройка кэша Redis
  4. Защищенный сервер Redis
  5. Переименовать опасную команду
  6. Заключение

Redis — это бесплатное хранилище ключей и значений в памяти с открытым исходным кодом, которое поддерживает различные типы структур данных. Вы можете использовать его как базу данных, кеш, брокер сообщений и очередь. Он используется для создания высокопроизводительных и масштабируемых веб-приложений. Он поддерживает широкий спектр языков программирования, таких как Java, PHP, C, Perl, Python, C#, Lua, Go и многие другие. Это кроссплатформенная программа, которая работает в большинстве операционных систем на базе Unix, включая Linux, *BSD и OS X.

В этом руководстве мы объясним, как установить Redis на сервер CentOS 8.

Предпосылки

  • Сервер под управлением CentOS 8.
  • Пароль root настраивается на сервере.

Установить Redis-сервер

По умолчанию пакет Redis доступен в репозитории CentOS 8 по умолчанию. Вы можете установить его, выполнив следующую команду:

dnf install redis -y

После установки сервера Redis запустите службу Redis и включите ее запуск при перезагрузке системы с помощью следующей команды:

systemctl start redis
systemctl enable redis

Вы также можете проверить состояние сервера Redis с помощью следующей команды:

systemctl status redis

Вы должны получить следующий результат:

   Loaded: loaded (/usr/lib/systemd/system/redis.service; disabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/redis.service.d
           ??limit.conf
   Active: active (running) since Tue 2020-09-15 04:52:54 EDT; 6s ago
 Main PID: 3076 (redis-server)
    Tasks: 4 (limit: 12527)
   Memory: 6.6M
   CGroup: /system.slice/redis.service
           ??3076 /usr/bin/redis-server 127.0.0.1:6379

Sep 15 04:52:54 centos8 systemd[1]: Starting Redis persistent key-value database...
Sep 15 04:52:54 centos8 systemd[1]: Started Redis persistent key-value database.

По умолчанию Redis прослушивает порт 6379. Вы можете проверить это с помощью следующей команды:

ss -ant | grep 6379

Вы должны получить следующий результат:

LISTEN     0        128             127.0.0.1:6379              0.0.0.0:*       

Затем проверьте подключение Redis с помощью следующей команды:

redis-cli

Вы должны увидеть следующий вывод:

127.0.0.1:6379>

Теперь выполните следующую команду, чтобы проверить подключение:

127.0.0.1:6379> ping

Вы должны увидеть следующий вывод:

PONG

Настроить кэш Redis

Далее вам нужно будет настроить Redis в качестве сервера кэширования. Вы можете сделать это, отредактировав файл конфигурации Redis:

nano /etc/redis.conf

Добавьте в конец файла следующие строки:

maxmemory 128mb
maxmemory-policy allkeys-lru

Сохраните и закройте файл, когда закончите. Затем перезапустите службу Redis с помощью следующей команды:

systemctl restart redis

Безопасный сервер Redis

По умолчанию redis-cli позволяет запускать любую команду в оболочке Raedis. Поэтому рекомендуется защитить оболочку Redis паролем. Вы можете включить аутентификацию по паролю, отредактировав файл /etc/redis.conf:

nano /etc/redis.conf

Найдите следующую строку:

# requirepass foobared

И замените его следующей строкой:

requirepass A&#9D3Fs4%#df

Сохраните и закройте файл, когда закончите. Затем перезапустите службу Redis, чтобы применить изменения конфигурации:

systemctl restart redis

Теперь подключитесь к Redis с помощью следующей команды:

redis-cli

После подключения выполните следующую команду:

127.0.0.1:6379> INFO server

Вы получите следующую ошибку, потому что вы не аутентифицируетесь.

NOAUTH Authentication required.

Теперь выполните следующую команду для аутентификации с паролем, указанным в файле конфигурации Redis:

127.0.0.1:6379> AUTH A&#9D3Fs4%#df

Вы должны увидеть следующий вывод:

OK

Теперь выполните следующую команду:

127.0.0.1:6379> INFO server

Вы должны получить следующий результат:

# Server
redis_version:5.0.3
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:28849dbea6f07cc8
redis_mode:standalone
os:Linux 4.18.0-193.14.2.el8_2.x86_64 x86_64
arch_bits:64
multiplexing_api:epoll
atomicvar_api:atomic-builtin
gcc_version:8.3.1
process_id:3176
run_id:2bf42acb9a0c0f251220c9bf5d66982b1c0b1d87
tcp_port:6379
uptime_in_seconds:41
uptime_in_days:0
hz:10
configured_hz:10
lru_clock:6324712
executable:/usr/bin/redis-server
config_file:/etc/redis.conf

Когда вы закончите, вы можете перейти к следующему шагу.

Переименовать опасную команду

Также рекомендуется переименовать некоторые опасные команды внутри оболочки Redis. Одной из опасных команд является \config\. Он используется для получения пароля Redis.

Давайте посмотрим, как получить пароль Redis с помощью команды «config».

Сначала подключитесь к Redis с помощью следующей команды:

redis-cli

После подключения выполните аутентификацию Redis с помощью следующей команды:

127.0.0.1:6379> AUTH A&#9D3Fs4%#df

Затем получите пароль Redis с помощью следующей команды:

127.0.0.1:6379> config get requirepass

Вы должны получить пароль Redis в следующем выводе:

1) "requirepass"
2) "A&#9D3Fs4%#df"

Вы можете переименовать команду \config\, отредактировав файл /etc/redis.conf:

nano /etc/redis.conf

Найдите следующую строку:

# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52

И замените его следующей строкой:

rename-command CONFIG hitredis

Сохраните и закройте файл. Затем перезапустите службу Redis с помощью следующей команды:

systemctl restart redis

Теперь подключитесь и аутентифицируйте Redis с помощью следующей команды:

redis-cli
127.0.0.1:6379> AUTH A&#9D3Fs4%#df

Теперь получите пароль Redis с помощью команды \config\:

127.0.0.1:6379> config get requirepass

Вы должны получить следующую ошибку:

(error) ERR unknown command `config`, with args beginning with: `get`, `requirepass`, 

Теперь запустите переименованную команду, как показано ниже:

127.0.0.1:6379> hitredis get requirepass

Вы должны получить свой пароль Redis в следующем выводе:

1) "requirepass"
2) "A&#9D3Fs4%#df"

Заключение

Поздравляем! вы успешно установили и защитили сервер Redis в CentOS 8. Теперь вы можете разместить свое приложение, настроить его для использования кеша Redis. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.