在 CentOS 8 上安装和配置 Redis

Redis 是一个开源的键值对数据库,可以基于内存,也可以持久化数据。它可以用作数据库,缓存和消息代理,并支持各种数据结构,例如字符串,哈希,列表,集合等。 Redis 通过 Redis Sentinel 以及通过 Redis Cluster 在多个 Redis 节点之间自动分区提供了高可用性。

本指南介绍了在 CentOS 8 上 Redis 的安装和配置。

在 CentOS 8 上安装 Redis

Redis 5.0.x 版本包含在默认的 CentOS 8 存储库中。要安装它,请以 root 或具有 sudo 特权的用户身份运行以下命令:

sudo dnf install redis-server

安装完成后,启用并启动 Redis 服务:

sudo systemctl enable --now redis

要检查 Redis 服务器是否正在运行,请输入:

sudo systemctl status redis
● redis.service - Redis persistent key-value database
   Loaded: loaded (/usr/lib/systemd/system/redis.service; enabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/redis.service.d
           └─limit.conf
   Active: active (running) since Sat 2020-02-08 20:54:46 UTC; 7s ago

现在,您已在 CentOS 8 服务器上安装并启动运行了 Redis 。

配置 Redis 远程访问

默认情况下, Redis 不允许远程连接。您只能从运行 Redis 的机器 127.0.0.1(localhost) 连接到 Redis 服务器。

如果使用单个服务器设置,并且连接到数据库的客户端也在同一主机上运行,​​则不应启用远程访问。

要将 Redis 配置为接受远程连接,请使用文本编辑器打开 Redis 配置文件 /etc/redis.conf

sudo nano /etc/redis.conf

找到以 bind 127.0.0.1 开头的行,然后在后面添加服务器专用 IP 地址 127.0.0.1

bind 127.0.0.1 192.168.121.233

请您用您的 IP 地址替换 192.168.121.233 。保存文件并关闭编辑器。

如果您想让 Redis 收听所有的网络接口,只需注释掉这一行就行。

重新启动 Redis 服务以使更改生效:

sudo systemctl restart redis

使用以下 ss 命令来验证 Redis 服务器正在侦听专用网络接口上的 6379 端口

ss -an | grep 6379

您应该看到类似以下的内容:

tcp    LISTEN    0    128    192.168.121.233:6379    0.0.0.0:*
tcp    LISTEN    0    128    127.0.0.1:6379          0.0.0.0:*

接下来,您需要配置防火墙以允许来自 6379 端口 TCP 的流量。

通常,您只希望允许从特定 IP 地址或 IP 范围访问 Redis 服务器。例如,要仅允许来自 192.168.121.0/24 的连接,请运行以下命令:

sudo firewall-cmd --new-zone=redis --permanent

上面的命令创建一个名为 redis 的新区域,打开 6379 端口并允许从专用网络进行访问。

此时, Redis 服务器将接受 6379 端口上的远程 TCP 连接。

确保将防火墙配置为仅接受来自受信任 IP 范围的连接。

要验证所有设置是否正确,您可以尝试使用 redis-cli 实用程序 ping 向远程 Redis 服务器,该实用程序为 Redis 服务器提供命令行界面:

redis-cli -h <REDIS_IP_ADDRESS> ping

该命令应返回以下响应 PONG

PONG

结论

我们已经向您展示了如何在 CentOS 8 上安装 Redis 。要了解有关如何使用 Redis 的更多信息,请访问其官方文档页面。