myfreax

如何安装和配置Redis在CentOS 8

Redis是开源的内存键值数据存储。 它可以用作数据库,缓存和消息代理,并支持各种数据结构,例如字符串,哈希,列表,集合等。本指南介绍了CentOS 8上Redis的安装和配置

4 min read
By myfreax
如何安装和配置Redis在CentOS 8

Redis是开源的内存键值数据存储。 它可以用作数据库,缓存和消息代理,并支持各种数据结构,例如字符串,哈希,列表,集合等。

Redis通过Redis Sentinel以及使用Redis Cluster在多个Redis节点之间进行自动分区来提供高可用性。

本教程说明如何安装和配置Redis在CentOS 8。包括使用dnf命令安装Reids,使用systemctl命令检查,重启,启动Redis服务,修改Redis配置文件指定Redis监听0.0.0.0接口地址,使用firewall-cmd命令修改防火墙设置打开Redis的远程访问和端口6379,使用redis-cli的ping命令验证远程访问。

安装Redis

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

sudo dnf install redis-server

安装完成后,使用systemctl命令启动Redis服务并在开机时自动启动Redis:

sudo systemctl enable --now redis

如你需要检查Redis服务器是否正在运行,请输入运行以下systemctl命令,它将会打印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。在本教程中我们将使用vim编辑器编辑文件。

运行以下vim命令打开文件/etc/redis.conf

sudo vim /etc/redis.conf

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

bind 127.0.0.1 192.168.121.233
/etc/redis.conf

请确保将192.168.121.233替换为IP地址。保存文件并关闭vim编辑器。如果您想让Redis监听所有接口,只需注释bind 127.0.0.1开头的行即可。

每次更改Redis服务的配置文件后都必须重新启动Redis服务以使更改生效。我们可以使用systemctl命令重启Redis服务:

sudo systemctl restart redis

当重启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:*

这表明Redis服务在接口127.0.0.1/192.168.121.233,监听端口6379的连接。

接下来,您还需要配置iptables/FirewallD防火墙以允许TCP端口6379上的连接。通常,您只想允许从指定的IP地址或IP范围访问Redis服务器。

例如,仅允许来自192.168.121.0/24的连接,请运行以下firewall-cmd命令:

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

上面的firewall-cmd命令使用选项--new-zone将创建一个名为redis的区域zone,然后使用--add-port选项在redis区域添加要打开的端口6379,然后使用选项--add-source指定IP地址范围。仅允许192.168.121.0/24的网段访问Redis服务的6379端口。

这时,Redis服务器将接受TCP端口6379的远程连接。确保将防火墙配置为仅接受来自受信任IP范围的连接。

要验证所有设置是否正确,您可以尝试使用redis-cli从本地计算机ping远程服务器Redis服务。此ping程序来自redis-cli,redis-cli为Redis服务提供命令行接口。

以下redis-cli命令将ping远程计算机地址是192.168.0.100的Redis服务:

redis-cli -h 192.168.0.100 ping

该命令应返回PONG的响应:

PONG

结论

我们已向您展示了如何在CentOS 8上安装Redis。要了解有关如何使用Redis的更多信息,请访问其官方文档页面。如果您有任何疑问,请随时在下面发表评论。