如何在 CentOS 8 上安装 Redis 服务器
本教程适用于这些操作系统版本
- 中央操作系统 8
- 中央操作系统 7
在此页
- 先决条件
- 安装 Redis 服务器
- 配置Redis缓存
- 安全的 Redis 服务器
- 重命名危险命令
- 结论
Redis 是一种免费的开源内存键值存储,支持不同类型的数据结构。您可以将其用作数据库、缓存、消息代理和队列。它用于构建高性能和可扩展的 Web 应用程序。它支持广泛的编程语言,例如 Java、PHP、C、Perl、Python、C#、Lua、Go 等等。它是跨平台的,适用于大多数基于 Unix 的操作系统,包括 Linux、*BSD 和 OS X。
在本教程中,我们将解释如何在 CentOS 8 服务器上安装 Redis。
先决条件
- 一台运行 CentOS 8 的服务器。
- 为服务器配置了根密码。
安装 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 shell 中运行任何命令。因此,使用密码保护 Redis shell 是个好主意。您可以通过编辑 /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 shell 中的一些危险命令。其中一个危险的命令是 \config\。它用于检索 Redis 密码。
让我们看看如何使用 \config\ 命令检索 Redis 密码。
首先,使用以下命令连接到 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"
您可以通过编辑文件 /etc/redis.conf 来重命名 \config\ 命令:
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
现在,使用 \config\ 命令检索 Redis 密码:
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"
结论
恭喜!您已在 CentOS 8 上成功安装并保护 Redis 服务器。您现在可以托管您的应用程序并将其配置为使用 Redis 缓存。如果您有任何问题,请随时问我。