Как установить сервер Redis на CentOS 8
Это руководство существует для этих версий ОС
- CentOS 8
- CentOS 7
На этой странице
- Предпосылки
- Установить сервер Redis
- Настройка кэша Redis
- Защищенный сервер Redis
- Переименовать опасную команду
- Заключение
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	D3Fs4%#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	D3Fs4%#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	D3Fs4%#df
Затем получите пароль Redis с помощью следующей команды:
127.0.0.1:6379> config get requirepass
Вы должны получить пароль Redis в следующем выводе:
1) "requirepass" 2) "A	D3Fs4%#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	D3Fs4%#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	D3Fs4%#df"
Заключение
Поздравляем! вы успешно установили и защитили сервер Redis в CentOS 8. Теперь вы можете разместить свое приложение, настроить его для использования кеша Redis. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.