- 本文环境
- 系统:Ubuntu 22.04 LTS
- 终端:腾讯云 OrcaTerm(可使用 Xshell+Xftp 代替)
- 本文全部 shell 终端指令均执行在 root 用户下(命令前的
sudo
可不加),如果是非 root 用户也许本文中某些没加sudo
命令也要加上sudo
一、安装 Redis
1.更新软件包列表
1 | sudo apt update |
2.查看是否安装 Redis
1 | dpkg -l | grep redis |
如果输入上述命令后没有任何的输出(如上图),则说明没有安装 Redis
3.安装 Redis
1 | sudo apt install redis-server |
这里列出了软件包的相关信息并询问你是否继续安装
输入y
后回车确定继续安装
等待安装完后再输入第 2 步的命令查看 Redis 是否已经安装
输出如上图,说明 Redis 已经安装成功
安装的 Redis 版本默认为当前 apt 源中最新的稳定版本,可以输入下面的命令查看 Redis 版本
1 | redis-server -v |
注:写本文时的版本为 6.0.16
4.查看 Redis 状态
一旦安装完成,Redis 服务将会自动启动,想要查看 Redis 服务运行状态可以输入下面命令查看
1 | sudo systemctl status redis |
输出显示 Redis 服务已经被启动,并且正在运行
5.启动、重启、停止 Redis 服务的命令
上一步的命令可以用来查看 Redis 服务的运行状态,下面是启动、重启、停止命令
1 | # 启动 |
停止和启动命令的演示
6.测试 Redis
输入下面命令连接到 Redis 服务器
1 | redis-cli |
使用乒乓
来测试连通性,输入ping
返回pong
说明成功!
退出
1 | exit |
二、配置 Redis 远程连接
配置 Redis 主要是对配置文件 redis.conf 进行修改,默认位置在 /etc/redis/redis.conf
1.查找 Redis 配置文件
使用之前的sudo systemctl status redis
命令查看 Redis 服务的状态
可以找到这样一个文件
然后使用下面的命令查看该文件
1 | cat /lib/systemd/system/redis-server.service |
就可以找到我们 redis.conf 文件所在的位置
2.编辑配置文件
使用 vim 编辑 redis.conf 文件
1 | vim /etc/redis/redis.conf |
说明
Redis 默认开启保护模式,并且绑定了本地,也就是只有云服务器本地才能连接并操作 Redis
- 保护模式:如果符合下面两个条件(不是之一)则无法被远程连接
- 没有明确使用 bind 绑定某个 ip 地址
- 没有设置密码
- 想要实现远程连接主要有三种方案
- 取消本地绑定(可以被任何 ip 访问),设置密码
- 明确绑定某个 ip 地址,设置密码(可选)
- 取消本地绑定(可以被任何 ip 访问),关闭保护模式
取消本地绑定/绑定某个 ip 地址
移动光标定位到bind 127.0.0.1 ::1
输入i
进入编辑模式(在英文输入法下)bind 127.0.0.1 ::1
的意思是只接受本机的访问请求
- 如果想取消本地绑定(可以被任何 ip 访问)
- 将该行注释掉(在前面加
#
,即## bind 127.0.0.1 ::1
),表示接受任何 ip 地址的访问
- 将该行注释掉(在前面加
- 如果想明确绑定某个 ip 地址
- 将
127.0.0.1
替换为指定的 ip 地址即可
- 将
设置密码
移动光标定位到## requirepass foobared
取消该行注释(删除#
),并将foobared
修改为你想要设置的密码
如 123456 就是我设置的密码
配置修改生效后再进入 Redis 命令行时需要输入密码登录
即使用redis-cli -a your_password
命令登录,your_password
是你自己设置的密码
示例:
如果不输入密码进入则会报错未授权
关闭保护模式
移动光标定位到protected-mode yes
将yes
修改为no
即表示关闭保护模式
总结
- 一般在上线部署时(只在云服务器本地运行),不需要修改配置文件
- 线下调试时,希望开发环境也可以连接到 Redis(方案一)
## bind 127.0.0.1 ::1
,取消本地绑定(可以被任何 ip 访问)protected-mode yes
,保护模式默认开启即可requirepass your_password
,设置密码
以上仅作为参考,具体可以自行选择
3.重启 Redis 服务
按Esc
退出编辑模式,然后输入:wq
后回车保存文件并退出(在英文输入法下)
输入下面命令重启 Redis 服务以应用修改后的配置文件
1 | sudo systemctl restart redis |
输入以下命令查看 Redis 服务所监听的 ip 和端口(以方案一设置为例)
1 | netstat -tlpn | grep redis |
可以看到 Redis 绑定的 ip 已经变成了 0.0.0.0,即接受任何 ip 地址的访问
4.云服务器放行 6379 端口
在云服务器厂商找到对应云服务器的防火墙,并放行 6379 端口(Redis 的默认端口)
这里以腾讯云为例,不同厂商基本都大同小异
有这样一条记录就说明 6379 端口已经放行了
5.测试连接
本文使用 Another Redis Desktop Manager 测试连接云服务器上的 Redis
地址填你云服务器的 ip 地址
连接成功!