Redis是一个免费的、开源的内存键值存储,支持不同种类的数据结构。你可以把它作为数据库、缓存、消息中介和队列使用。它用于构建高性能和可扩展的网络应用。它支持多种编程语言,如,Java、PHP、C、Perl、Python、C#、Lua、Go等。它是一个跨平台的,可以在大多数基于Unix的操作系统中工作,包括Linux、*BSD和OS X。
先决条件
一台运行CentOS 8的服务器,并配置了root密码。
1、安装Redis服务器
默认情况下,Redis软件包在CentOS 8默认存储库中可用。您可以通过运行以下命令来安装它:
dnf install redis -y
安装Redis服务器后,请使用以下命令启动Redis服务并启用它以在系统重新引导时启动:
systemctl start redis
systemctl enable redis
您还可以使用以下命令来验证Redis服务器的状态:
systemctl status redis
您应该获得以下输出:
默认情况下,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
2、配置Redis缓存
接下来,您需要将Redis配置为缓存服务器。您可以通过编辑Redis配置文件来做到这一点:
nano /etc/redis.conf
在文件末尾添加以下行:
maxmemory 128mb
maxmemory-policy allkeys-lru
完成后,保存并关闭文件。然后,使用以下命令重新启动Redis服务:
systemctl restart redis
3、安全的Redis服务器
默认情况下,redis-cli允许您在Raedis Shell中运行任何命令。因此,使用密码保护Redis shell是一个好主意。您可以通过编辑/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	D3Fs4%#df
您应该看到以下输出:
OK
现在,运行以下命令:
127.0.0.1:6379> INFO server
您应该获得以下输出:
完成后,您可以继续下一步。
4、重命名危险命令
还建议在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缓存。A5互联https://www.a5idc.net/