文章目录
- 设置bind
- bing的作用
- 查看主机所有的网卡ip地址
- 编辑redis.conf,添加所有ip地址
- 设置远程连接并设置密码
- 开启远程连接
- 添加密码
- 开启服务
- 补充
- 连接
- 命令行连接redis
- 图形界面客户端连接redis
前言:其实网上的很多博客都是只讲了如何操作,对于这些操作为什么要这样设置并没有说清楚。还有个问题就是网上好多博客都将redis的bind作用说错了!redis的bind并不是绑定需要连接本机redis的外网主机ip地址的,是绑定自己主机的所有网卡的ip地址。因此我才觉得应该写一篇更有意义的文章
设置bind
bing的作用
bind就是redis配置文件redis.conf的一个设置项,起到的作用是为了绑定本机的所有的网卡ip地址,redis默认127.0.0.1。因此你用127.0.0.1登录是没问题的。如果你是腾讯云服务器的用户,你用服务器的外网ip连接肯定会报Connection refused错(例如下面的图片)。具体原因就是因为云服务器有两个网卡ip,一个是内网ip,一个是127.0.0.1,而redis默认只有127.0.0.1,因此我们需要配置所有的本机ip。
查看主机所有的网卡ip地址
ifconfig //linux
ipconfig //windows
下面是我购买的腾讯云服务器上的两个ip地址
编辑redis.conf,添加所有ip地址
cd /usr/local/redis/bin/
vim redis.conf
cd进入你的redis.conf文件,使用vim命令编辑文件,把刚才上面查到的所有ip地址都加到bind后面
bind 127.0.0.1 你的另一个ip地址
其实也可以这样写
bind 0.0.0.0
这样的话就是默认包含本机所有的网关ip地址了
先别退出,接下来还得开启远程连接许可和设置密码。
设置远程连接并设置密码
要想真的能够远程连接还得将redis的保护模式关闭,redis的保护模式时靠redis.conf文件中的protected-mode 这个关键字决定的,后面接yes为开启,no为关闭,默认是yes,也就是禁止远程连接。但是关闭之后只要是别人知道你的ip地址和端口号都可以连接,很不安全,因此更好地办法就是添加密码。
设置密码redis依靠的是 requirepass 关键字,后面空格就可以加上你的密码了
还是在redis.conf文件中
语法: requirepass 你的密码
步骤在下面
开启远程连接
还是redis.conf文件,将protected-mode 的no改为yes
添加密码
redis.conf中找到 requirepass 字段,这里其实很难找到,不过推荐你一个在vim中快速查找关键字的技巧。只需要退出insert编辑模式,处于normal模式下,按/,然后后面跟上你要查找的内容,按回车就行了。会跳转到第一个匹配到的查找结果,按n为下一个结果,按N为上一个匹配的结果。
/requirepass
找到# requirepass foobared(看下图)这一行。
将#去掉(#是注释的意思),把foobared改为你要设置的密码
requirepass 你的密码
设置以进程模式开启
daemonize yes
按ESC退出编辑模式 :wq保存并退出redis.conf文件
到这一步并没有结束,如果你想让这些设置生效,还得重启服务
开启服务
为了让这些redis.conf的上面这些设置生效,我们得开启(重启)服务,让redis按照redis.conf中的设置开启服务。
如果你之前已经启动了redis,记得先关闭redis。 ./前面有个空格
./redis-cli shutdown
开启服务,让设置生效
./redis-server redis.conf
ps:上面这两个指令都是在redis/bin/目录下。就是你redis的安装目录下,不是解压目录
我们可以通过 ps -ef |grep redis来查看redis是否打开
还可以通过 netstat -tnlp查看redis服务使用的端口(其实netstat -tnlp是用来查看tcp下所有正在监听的端口的)
具体netstat的字段属性
- -t (tcp) 仅显示tcp相关选项
- -n 拒绝显示别名,能显示数字的全部转化成数字。
- -l 仅列出有在 Listen (监听) 的服務状态
- -p 显示建立相关链接的程序名
补充
如果你在看我的博客之前就已经设置了密码,并且redis的服务已经开启了,密码的设置也生效了,这时候关闭redis的后端启动的命令为:
./redis-cli -a 你的密码 shutdown
连接
终于到了检验上述设置是否有用的时候了。由于我们上面设置了密码,因此在连接时还得附上密码
命令行连接redis
./redis-cli -h 134.175.22.186 -p 6379 -a 12345
134.175.22.186是我自己购买的腾讯云服务器的地址,也是刚才设置能够远程访问redis的ip地址。实际操作中更换为你们的就好了。-p后面跟的是redis的端口号,一般是6379,-a后面跟的是密码。
图形界面客户端连接redis
我自己是使用了Redis Desktop manager1 这个redis的图形管理界面来连接redis的,输入主机ip号,port端口号,Auth(密码)就好了。
- Redis Desktop manager:windows下的一款redis的图形界面操作客户端。界面挺简洁的。