Redis是开源的内存中数据结构存储。它可以用作数据库,缓存和消息代理,并支持各种数据结构,例如字符串,哈希,列表,集合等。Redis通过Redis Sentinel提供高可用性,包括监视,通知,自动故障转移。它还使用Redis Cluster在多个Redis节点之间提供自动分区。
本教程介绍了如何在CentOS 7服务器上安装和配置Redis。
先决条件
在开始学习本教程之前,请确保您以具有[sudo]特权的用户身份登录。
在CentOS 7上安装Redis
Redis软件包不包含在默认的CentOS存储库中。我们将从Remi存储库安装Redis版本5.0.2。
安装非常简单,只需执行以下步骤:
首先通过在SSH终端中运行以下命令来启用Remi存储库:
sudo yum install epel-release yum-utils
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum-config-manager --enable remi
通过键入以下内容安装Redis软件包:
sudo yum install redis
安装完成后,启动Redis服务并启用它在启动时自动启动:
sudo systemctl start redis
sudo systemctl enable redis
Created symlink from /etc/systemd/system/multi-user.target.wants/redis.service to /usr/lib/systemd/system/redis.service.
要检查服务的状态,请输入以下命令:
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 2018-11-24 15:21:55 PST; 40s ago
Main PID: 2157 (redis-server)
CGroup: /system.slice/redis.service
└─2157 /usr/bin/redis-server 127.0.0.1:6379
如果您的服务器上禁用了IPv6,Redis服务将无法启动。
恭喜,这时,您已经在CentOS 7服务器上安装并运行了Redis。
配置Redis远程访问
默认情况下,Redis不允许远程连接。您只能从运行Redis的计算机127.0.0.1(localhost)连接到Redis服务器。
仅当您要从远程主机连接到Redis服务器时,才执行以下步骤。如果使用单个服务器设置,并且应用程序和Redis在同一台计算机上运行,则不应启用远程访问。
要配置Redis接受远程连接,请使用文本编辑器打开Redis配置文件:
sudo nano /etc/redis.conf
找到以bind 127.0.0.1
开头的行,并在127.0.0.1
之后添加服务器专用IP地址。
/etc/redis.conf
# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES # JUST COMMENT THE FOLLOWING LINE. # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bind 127.0.0.1 192.168.121.233
确保用IP地址替换192.168.121.233
。保存文件并关闭编辑器。
重新启动Redis服务以使更改生效:
sudo systemctl restart redis
使用以下ss
命令验证Redis服务器在端口6379
的专用接口上是否正在监听:
ss -an | grep 6379
您应该看到类似以下的内容:
tcp LISTEN 0 128 192.168.121.233:6379 *:*
tcp LISTEN 0 128 127.0.0.1:6379 *:*
接下来,您需要添加防火墙规则,以启用来自远程计算机的TCP端口6379
上的流量。
假设您正在使用 FirewallD
管理防火墙,并且要允许从192.168.121.0/24
子网进行访问,则可以运行以下命令:
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
上面的命令创建一个名为redis
的新区域,打开端口6379
并允许从专用网络进行访问。
这时,Redis服务器将接受TCP端口6379上的远程连接。
确保将防火墙配置为仅接受来自受信任IP范围的连接。
要验证所有设置是否正确,您可以尝试使用redis-cli
实用程序从远程计算机ping Redis服务器,该实用程序为Redis服务器提供命令行界面:
redis-cli -h ping
命令应返回PONG
的响应:
PONG
结论
恭喜,您已将Redis成功安装在CentOS 7服务器上。要了解有关如何使用Redis的更多信息,请访问其官方文档页面。