在 Debian 10 上安装和保护 Redis 服务器在 Debian 10 上安装和保护 Redis 服务器在 Debian 10 上安装和保护 Redis 服务器在 Debian 10 上安装和保护 Redis 服务器
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

在 Debian 10 上安装和保护 Redis 服务器

本教程适用于这些操作系统版本

  • Debian 11(Bullseye)
  • Debian 10(Buster)

在此页

  1. 要求
  2. 开始
  3. 安装Redis
  4. 将 Redis 配置为缓存
  5. 配置 Redis 身份验证
  6. 重命名特定命令
  7. 结论

Redis 也称为“远程词典服务器”,是一种开源内存数据库,可用作数据库、缓存和消息代理。 Redis 支持各种数据结构,例如字符串、哈希、列表、集合等等。 Redis 是用 C 编程语言编写的,适用于大多数 POSIX 系统,如 Linux、Free BSD 和 OS X。Redis 能够每秒运行数千条命令。 Redis 具有一组丰富的功能,包括复制、自动故障转移、Lua 脚本、LRU 键驱逐、事务等等。

在本教程中,我们将学习如何在 Debian 10 服务器上安装和保护 Redis。

要求

  • 运行 Debian 10 的服务器。
  • 已为您的服务器设置根密码。

入门

在开始之前,您需要使用最新版本更新您的系统。您可以通过运行以下命令来执行此操作:

apt-get update -y
apt-get upgrade -y

服务器更新后,重新启动服务器以应用更改。

安装 Redis

默认情况下,Redis 在 Debian 10 存储库中可用。您只需运行以下命令即可安装它:

apt-get install redis-server -y

安装 Redis 后,启动 Redis 服务并使用以下命令使其在系统重启后启动:

systemctl start redis-server
systemctl enable redis-server

您还可以使用以下命令验证 Redis 服务器的状态:

systemctl status redis-server

您应该得到以下输出:

? redis-server.service - Advanced key-value store
   Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2019-09-06 05:57:45 EDT; 4s ago
     Docs: http://redis.io/documentation,
           man:redis-server(1)
  Process: 2284 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS)
 Main PID: 2285 (redis-server)
    Tasks: 4 (limit: 1138)
   Memory: 6.8M
   CGroup: /system.slice/redis-server.service
           ??2285 /usr/bin/redis-server 127.0.0.1:6379

Sep 06 05:57:45 debian systemd[1]: Starting Advanced key-value store...
Sep 06 05:57:45 debian systemd[1]: redis-server.service: Can't open PID file /run/redis/redis-server.pid (yet?) after start: No such file or di
Sep 06 05:57:45 debian systemd[1]: Started Advanced key-value store.

默认情况下,Redis 监听本地主机的 6379 端口。您可以使用以下命令进行检查:

ps -ef | grep redis

您应该看到以下输出:

redis     2285     1  0 05:57 ?        00:00:00 /usr/bin/redis-server 127.0.0.1:6379
root      2294   706  0 05:59 pts/0    00:00:00 grep redis

接下来,使用以下命令测试 Redis 连接:

redis-cli

您应该看到以下输出:

127.0.0.1:6379> 

现在,使用 ping 命令检查 Redis 连接:

127.0.0.1:6379> ping

如果一切正常,您应该会看到以下输出:

PONG

一旦你完成了。您可以继续下一步。

将 Redis 配置为缓存

您可以通过编辑 /etc/redis/redis.conf 文件将 Redis 配置为缓存:

nano /etc/redis/redis.conf

在文件末尾添加以下行:

maxmemory 64mb
maxmemory-policy allkeys-lru

当达到 64mb 的最大内存时。 Redis 将根据 LRU 算法删除任何键。完成后保存并关闭文件。然后,使用以下命令重新启动 Redis 服务:

systemctl restart redis-server

一旦你完成了。您可以继续下一步。

配置 Redis 身份验证

默认情况下,您可以在 Redis shell 中运行任何命令。因此,建议为客户端配置 Redis 身份验证,以在运行任何命令之前要求输入密码。您可以直接在 Rediss 配置文件中配置密码验证。为此,请使用您喜欢的编辑器打开文件 /etc/redis/redis.conf:

nano /etc/redis/redis.conf

在 SECURITY 部分下找到以下行:

# requirepass foobared

取消注释并将其替换为您想要的密码,如下所示:

requirepass AlsW34%#df

完成后保存并关闭文件。然后,重启 Redis 服务以应用配置更改:

systemctl restart redis-server

现在,使用以下命令访问 Redis shell:

redis-cli

现在,运行以下命令而不进行身份验证:

127.0.0.1:6379> INFO server

这将不起作用,因为您不进行身份验证。你应该得到以下错误:

NOAUTH Authentication required.

接下来,运行以下命令以使用 Redis 配置文件中指定的密码进行身份验证:

127.0.0.1:6379> AUTH AlsW34%#df

您应该得到以下输出:

OK

现在,再次运行之前的命令:

127.0.0.1:6379> INFO server

这将成功运行,您应该看到以下输出:

# Server
redis_version:5.0.3
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:afa0decbb6de285f
redis_mode:standalone
os:Linux 4.19.0-5-amd64 x86_64
arch_bits:64
multiplexing_api:epoll
atomicvar_api:atomic-builtin
gcc_version:8.3.0
process_id:2308
run_id:2cf0470a9492deddf98bcc72fa9ec94e941edf6c
tcp_port:6379
uptime_in_seconds:50
uptime_in_days:0
hz:10
configured_hz:10
lru_clock:7483371
executable:/usr/bin/redis-server
config_file:/etc/redis/redis.conf

一旦你完成了。您可以继续下一步。

重命名特定命令

出于安全原因,建议重命名某些被认为是危险的命令。

在这里我们将重命名 \config\ 命令。 config 命令用于检索 Redis 密码。让我们看一个例子:

首先,使用以下命令连接并验证 Redis shell:

redis-cli
127.0.0.1:6379> AUTH AlsW34%#df

接下来,使用以下命令检索 Redis 密码:

127.0.0.1:6379> config get requirepass

您应该得到以下输出:

1) "requirepass"
2) "AlsW34%#df"
127.0.0.1:6379> 

您可以通过编辑 /etc/redis/redis.conf 文件来重命名配置命令:

nano /etc/redis/redis.conf

找到以下行:

# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52

取消注释并替换为您想要的字符串:

rename-command CONFIG H2sW_Config        

保存并关闭文件。然后,使用以下命令重启 Redis 服务:

systemctl restart redis-server

接下来,使用以下命令连接并验证 Redis shell:

redis-cli
127.0.0.1:6379> AUTH AlsW34%#df

接下来,使用 config 命令检索 Redis 密码:

127.0.0.1:6379> config get requirepass

我们重命名了此命令,因此您应该会收到以下错误:

(error) ERR unknown command `config`, with args beginning with: `get`, `requirepass`, 

现在,运行重命名的命令,如下所示:

127.0.0.1:6379> H2sW_Config get requirepass

您应该得到以下输出:

1) "requirepass"
2) "AlsW34%#df"

最后,使用以下命令退出 Redis shell:

127.0.0.1:6379> exit

结论

恭喜!您已经在 Debian 10 上成功安装并保护了 Redis 服务器。我希望您现在有足够的知识来使用密码身份验证来保护您的 Redis 服务器。如果您有任何疑问,请随时问我。

©2015-2025 艾丽卡 support@alaica.com