如何在 Ubuntu 24.04、22.04 或 20.04 上安装 Redis

Redis 是一种功能强大的内存数据结构存储,广泛用作数据库、缓存和消息代理。Redis 以其高性能和多功能性而闻名,支持各种数据结构,如字符串、哈希、列表、集合等,使其成为需要快速数据访问和实时分析的应用程序的热门选择。

在 Ubuntu 24.04、22.04 或 20.04 上,可以使用两种主要方法安装 Redis。第一种方法是通过 Ubuntu 默认存储库,它提供了一个与系统包管理良好集成的稳定版本。或者,对于需要具有最新功能和更新的最新版本的用户,可以使用 Redis APT 镜像存储库安装 Redis。本指南将引导您完成这两种安装方法,帮助您选择最适合您需求的方法。

方法 1:通过 APT 默认存储库安装 Redis

在安装 Redis 之前更新 Ubuntu

在安装 Redis 之前,确保系统的软件包是最新的至关重要。此步骤有助于避免安装过程中可能出现的任何冲突。要更新您的 Ubuntu 系统,请执行以下命令:

sudo apt update && sudo apt upgrade

此命令将从存储库中获取最新的软件包信息并升级系统上任何过时的软件包。

通过 APT 命令安装 Redis

默认情况下,Redis 包包含在 Ubuntu 存储库中,您可以使用以下命令安装:

sudo apt install redis

此命令将在您的系统上下载并安装 Redis 包及其依赖项。

验证 Redis 安装

现在您已经安装了 Redis,验证安装至关重要,因为您需要检查已安装的版本。此步骤可确保 Redis 已正确安装并按预期运行。

要验证 Redis 安装,请执行以下命令:

redis-cli --version

此命令将显示系统上安装的 Redis 版本。如果输出显示 Redis 版本,则确认安装成功。

方法 2:通过 Redis.io APT PPA 安装 Redis

使用 Redis.io 在安装 Redis 之前更新 Ubuntu

在继续安装 Redis 之前,请更新系统的软件包以确保兼容性并防止冲突:

sudo apt update && sudo apt upgrade

安装 Redis.io PPA 的初始软件包

要完成安装,必须安装一些必备软件包。执行以下命令来安装它们:

sudo apt install software-properties-common apt-transport-https curl ca-certificates curl -y

这些包是添加 Redis.io 存储库和安全地获取包信息所必需的。

导入 Redis.io APT 存储库

首先,导入 GPG Key 来验证包:

curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg

接下来,将 Redis.io 存储库添加到您的系统:

echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list

导入 Redis.io PPA 后更新软件包列表

更新您的源列表以包含新添加的 Redis.io 存储库:

sudo apt update

通过终端命令完成 Redis PPA 安装

现在,您可以从 Redis.io 存储库安装 Redis。如果您已安装 Redis,则此命令将升级它:

sudo apt install redis-server redis-tools

验证 Redis 安装

为了确保您已经安装了 Redis.io 版本,请使用 apt-cache policy 命令:

apt-cache policy redis-server

验证输出是否指示正确的版本。

接下来启用并启动 Redis 服务:

sudo systemctl enable redis-server --now

检查 Redis 服务的状态并确保其正常运行:

systemctl status redis-server

Redis 应该在默认端口 6379 上主动监听本地主机。要确认这一点,请执行以下命令:

ps -ef | grep redis

示例输出:

redis       4171       1  0 23:35 ?        00:00:00 /usr/bin/redis-server 127.0.0.1:6379
joshua      4702    4691  0 23:36 pts/0    00:00:00 grep --color=auto redis

测试 Redis 连接

要测试您的 Redis 安装,请使用 redis-cli 命令连接到 Redis 服务:

redis-cli

连接后,您的终端将显示 127.0.0.1:6379。执行 ping 测试以确保与 Redis 服务正确通信:

ping
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> 

输出应为“PONG”,表示连接成功。要退出 Redis 实例,请键入:

exit

恭喜!您已成功在系统上安装 Redis 并验证其可运行。您现在可以根据需要继续配置 Redis。

Redis 配置快速概述

Redis 是一款多功能工具,可以通过多种方式配置以适应不同的用例。本部分将指导您配置 Redis 以进行缓存、网络访问以及设置密码以增强安全性。

编辑Redis配置文件

要开始配置 Redis,请使用 nano 编辑器打开 /etc/redis/redis.conf 文件:

sudo nano /etc/redis.conf

配置 Redis 的最大内存

人们使用 Redis 的主要原因之一是出于缓存目的。要为 Redis 缓存分配特定数量的内存,请在配置文件末尾添加以下几行:

maxmemory 500mb 
maxmemory-policy allkeys-lru

在此示例中,我们为 Redis 分配了 500 MB 的专用内存。您可以根据服务器的硬件和应用程序要求调整此值。一旦分配的内存耗尽,Redis 将根据最近最少使用 (LRU) 算法删除键。

为 Redis 配置网络访问

默认情况下,Redis 仅监听 localhost 接口。您可以将其配置为监听所有网络接口或特定 IP 地址/子网。

首先,找到配置文件中的第 69 行。

选项 1:监听所有网络接口

要监听所有网络接口,请通过添加以下内容注释掉“bind”行: # 一开始:

# bind 127.0.0.1 ::1

选项 2:绑定到特定 IP 地址或子网

要将 Redis 绑定到特定的 IP 地址或子网,请将“bind”行替换为所需的 IP 或子网:

bind 0.0.0.0/0

或者

bind 192.150.5.0/24

注意:将 Redis 绑定到 IP 地址或子网时,强烈建议设置密码以增加安全性。

配置Redis的密码

为了进一步保护您的 Redis 实例,请设置密码进行身份验证。

找到以 # requirepass 开头的行(大约 507 行),取消注释,然后设置一个强密码:

requirepass YourStrongPasswordHere

用包含大写字母、小写字母、数字和特殊符号的强密码替换 YourStrongPasswordHere。

设置密码后,使用 redis-cli 连接 Redis 时需要使用带有密码的 auth 命令:

redis-cli
auth YourStrongPasswordHere

身份验证失败的用户将收到一条错误消息:(错误)NOAUTH 需要身份验证。身份验证成功后,用户将看到一条 OK 消息。

保存更改并重新启动Redis

对配置文件进行必要的更改后,按 Ctrl + O 保存更改,然后按 Ctrl + X 退出 nano 编辑器。最后,重新启动 Redis 服务以应用新设置:

配置 Redis UFW 防火墙规则

使用 Redis 时,尤其是如果您已将其配置为侦听特定 IP 地址或子网,则确保防火墙允许 TCP 端口 6379 上的传入连接至关重要。本节将讨论配置 UFW(简单防火墙)规则以允许 Redis 连接。

确保已安装并启用 UFW

首先,确保您的系统上安装了 UFW:

sudo apt install ufw -y

接下来,如果尚未启用 UFW,请启用它:

sudo ufw enable

为 Redis 创建 UFW 规则

根据您的要求和网络设置,您可能需要为单个服务器实例或集群中的多个实例创建规则。

选项 1:允许从特定 IP 地址访问

如果您需要允许从单个服务器访问 Redis,请为该特定 IP 地址创建 UFW 规则:

sudo ufw allow proto tcp from <ip address> to any port 6379

代替使用适当的 IP 地址。

选项 2:允许从子网访问

如果您有一个包含多个实例的集群网络,则可以创建 UFW 规则以允许从整个子网进行访问:

sudo ufw allow proto tcp from <ip address>/24 to any port 6379

代替使用适当的子网 IP 地址。在使用此规则之前,请确保您的内部网络是安全且值得信赖的。

测试 Redis 连接

配置 UFW 规则后,测试 Redis 服务以确保它可以运行并可从允许的 IP 地址或子网访问。使用带有 -h 标志的 redis-cli 命令,后跟要连接的 IP 地址:

redis-cli -h  <ip address> ping

代替使用适当的 IP 地址。如果配置正确,您应该会收到“pong”响应。

pong

其他 Redis 配置选项

Redis 是一种多功能且功能丰富的内存数据结构存储,主要用于缓存、消息代理等。在本节中,我们将探讨 Redis 的其他配置选项,这些选项可以帮助您通过修改 Redis 配置文件来根据您的特定需求定制其性能和行为。

为 Redis 配置键值过期策略

在 Redis 配置文件中,您可以通过修改 maxmemory-policy 和 maxmemory-samples 设置为键设置默认生存时间 (TTL)。使用 nano 编辑器打开 /etc/redis/redis.conf 文件:

sudo nano /etc/redis/redis.conf

找到 maxmemory-policy 设置并根据需要进行配置。例如,要将策略设置为使用最近最少使用 (LRU) 算法使密钥过期,请按如下方式更新配置:

maxmemory-policy volatile-lru

现在找到 maxmemory-samples 设置并配置 Redis 应检查的样本数以做出驱逐决定:

maxmemory-samples 5

为 Redis 配置 TCP Keepalive

TCP keepalive 可以帮助检测和关闭空闲连接,从而释放资源。要启用 TCP keepalive,请在 /etc/redis/redis.conf 文件中找到 tcp-keepalive 设置:

tcp-keepalive 300

在此示例中,我们将保持连接间隔设置为 300 秒。请根据您的需求调整该值。

为 Redis 配置慢日志监控

慢日志可以通过记录耗时超过指定时间的查询来帮助识别性能问题。要配置慢日志,请在 /etc/redis/redis.conf 文件中找到 slowlog-log-slower-than 和 slowlog-max-len 设置:

slowlog-log-slower-than 10000
slowlog-max-len 128

在此示例中,我们将慢速日志阈值设置为 10,000 微秒(10 毫秒),并将慢速日志限制为最近的 128 条条目。请根据需要调整这些值。

为 Redis 配置 Redis 事件通知

Redis 可以针对特定事件生成通知,这对于监控和调试很有帮助。要启用事件通知,请在 /etc/redis/redis.conf 文件中找到 notify-keyspace-events 设置:

notify-keyspace-events ExA

在此示例中,我们将 Redis 配置为发送有关过期和驱逐的密钥的通知。官方 Redis 文档提供了有关事件通知和可用选项的更多信息。

配置 Redis 日志级别

调整 Redis 日志记录级别可以帮助您收集适量的信息以用于故障排除和监控。要设置日志记录级别,请在 /etc/redis/redis.conf 文件中找到 loglevel 设置:

loglevel notice

在此示例中,我们将日志记录级别设置为“notice”,这是默认级别。您可以从以下选项中进行选择:debug、verbose、notice 和 warning。根据您的要求调整日志记录级别。

配置所需选项后,保存更改并重新启动 Redis:

sudo systemctl restart redis-server

结论

在 Ubuntu 系统上安装 Redis 后,您就可以使用强大的工具来管理内存数据,为各种应用程序提供快速高效的存储解决方案。无论您选择 Ubuntu 默认存储库的稳定性还是 Redis APT 镜像存储库的尖端功能,这两种方法都可以确保您拥有强大的安装。定期更新 Redis 设置(尤其是在使用 APT 镜像时)将使您的系统能够通过最新功能和安全改进顺利运行。享受 Redis 为您的 Ubuntu 环境带来的速度和灵活性。

Joshua James
跟我来
Joshua James 的最新帖子 (查看全部)

发表评论