如何在CentOS 8上安装和配置Redis

时间:2020-03-05 15:24:30  来源:igfitidea点击:

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 2017-02-08 20:54:46 UTC; 7s ago

就是这样。
我们已在CentOS 8服务器上安装并运行Redis。

配置Redis远程访问

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

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

要将Redis配置为接受远程连接,请使用文本编辑器打开Redis配置文件:

sudo nano /etc/redis.conf

找到以“ bind 127.0.0.1”开头的行,并在“ 127.0.0.1”之后添加服务器专用IP地址。

/etc/redis.conf

bind 127.0.0.1 192.168.121.233

确保将“ 192.168.121.233”替换为IP地址。
保存文件并关闭编辑器。

如果我们想让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:*

接下来,我们需要配置防火墙以启用TCP端口“ 6379”上的流量。

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

sudo firewall-cmd --new-zone=redis --permanentsudo firewall-cmd --zone=redis --add-port=6379/tcp --permanentsudo firewall-cmd --zone=redis --add-source=192.168.121.0/24 --permanentsudo firewall-cmd --reload

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

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

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

要验证所有设置是否正确,我们可以尝试使用提供与Redis服务器的命令行界面的'redis-cli'实用程序从远程计算机ping Redis服务器:

redis-cli -h <REDIS_IP_ADDRESS> ping

该命令应返回“ PONG”的响应:

PONG