在Ubuntu 22.04上配置Redis单节点服务器以启用远程连接的过程可以分为几个步骤。以下教程将指导你完成安装Redis,配置以允许远程连接,调整防火墙规则,并验证设置的完整性。
一种是默认安装的配置
一种是指定安装的配置
1. 默认安装redis目录
步骤 1: 安装 Redis
-
更新系统包列表:
sudo apt update
-
安装 Redis:
sudo apt install redis-server
-
启动 Redis 服务:
sudo systemctl start redis.service
-
设置 Redis 服务开机自启:
sudo systemctl enable redis.service
步骤 2: 配置 Redis 允许远程连接
-
编辑 Redis 配置文件:
打开/etc/redis/redis.conf
文件进行编辑:sudo nano /etc/redis/redis.conf
-
修改 bind 设置:
找到bind 127.0.0.1 ::1
这一行,更改为:bind 0.0.0.0
-
禁用保护模式(如果你不使用密码保护连接,此步骤是必要的):
找到protected-mode yes
,改为:protected-mode no
原文件
更改后
-
保存并关闭文件:
按Ctrl+X
,然后按Y
,最后按Enter
保存文件。 -
重启 Redis 服务:
sudo systemctl restart redis.service
步骤 3: 调整防火墙规则
如果你的服务器运行的是 ufw
防火墙,你需要允许外部访问 Redis 端口(默认是6379):
sudo ufw allow 6379sudo ufw reload
步骤 4: 验证配置
-
检查 Redis 监听的地址:
netstat -tulnp | grep redis
确认输出中包含
0.0.0.0:6379
,表明 Redis 正在所有接口上监听。
-
从远程机器测试连接:
使用redis-cli
工具从另一台计算机尝试连接到 Redis 服务器:redis-cli -h <你的服务器IP> -p 6379
或者使用客户端another redis destop
如果连接成功,你应该能够执行如 PING
或 SET
等 Redis 命令,并接收响应。
以上是默认安装的
如果按照之前文章的安装redis,也是差不多的配置
设置redis安装在指定目录
安装7.2.4
如果你的Redis服务器是手动安装在/usr/local/redis
目录中(可能是从源代码编译的),配置过程会稍有不同。以下是在Ubuntu 22.04上配置位于/usr/local/redis
的Redis单节点服务器以启用远程连接的步骤:
步骤 1: 确认 Redis 安装
确保你已经正确安装了Redis,并且可以在/usr/local/redis
目录中找到所有相关文件。这通常包括Redis的可执行文件和默认的配置文件。
步骤 2: 修改 Redis 配置文件
-
编辑 Redis 配置文件:
/usr/local/redis/redis.conf
:gedit /usr/local/redis/redis.conf
-
修改 bind 参数:
在配置文件中找到bind 127.0.0.1 ::1
,更改为:bind 0.0.0.0
这样配置允许Redis接受任何IP地址的连接。
-
关闭保护模式(如果你不计划使用密码):
如果你的环境安全,或者你计划在网络层面进行安全控制,可以选择关闭保护模式。找到protected-mode yes
,修改为:protected-mode no
-
保存并退出编辑器:
按Ctrl+X
,然后按Y
,最后按Enter
键保存文件。
步骤 3: 重启 Redis 服务
重启你的Redis服务以应用这些配置更改。
/usr/local/redis/src/redis-server /usr/local/redis/redis.conf
步骤 4: 调整防火墙规则(你可以选择直接在虚拟机直接关闭防火墙全部,学习使用)
如果你的Ubuntu服务器正在使用ufw
防火墙,你需要允许外部访问Redis的端口(默认是6379):
sudo ufw allow 6379sudo ufw reload
步骤 5: 验证配置
-
检查 Redis 是否在正确端口上监听:
使用下面的命令检查Redis服务是否已经在0.0.0.0:6379
上监听:sudo netstat -tulnp | grep redis
-
从远程机器测试连接:
你可以使用redis-cli
工具从远程机器尝试连接到你的Redis服务器:redis-cli -h <服务器IP地址> -p 6379
或者使用客户端another redis destop
执行命令如PING
,如果一切正常,应该会返回PONG
。