redis bind连不上的坑
redis-cli 报错:redis Could not connect to Redis at 127.0.0.1:6379: Connection refused 问题解决
由于需要在内网其他服务器上连接redis服务器(192.168.1.109),本想直接在redis配置文件中加上目标的IP地址:
bind 192.168.1.109
就可以了,实际上不正确。
redis bind表示的是指定本机可以接受连接的网卡地址,比如redis服务器上有一个公网IP(114.114.114.114),一个内网IP(192.168.1.109),如果该redis服务器需要被本机及以外的服务器访问(比如说内网的服务器),
此时需要在redis.conf中配置如下方式才行:
bind 192.168.1.109 127.0.0.1
意思是该redis使用该IP来接受外部的连接(注意:bind的意思不是绑定外部服务器的IP,而是绑定本机可以接受访问的IP)。
然而我这要配置后使用116依然连接不上,经多次排查发现我是使用
./redis-server &
来启动redis的,启动时没有指定配置文件。(即使修改了redis安装目录下的配置文件也不生效)
所以指定配置文件路径的方式来启动:
./redis-server /usr/local/redis/redis.conf &
如果到这步还不能生效,可以在配置文件中将redis保护模式关闭,但记得使用密码来保证安全性(使用复杂密码)。
protected-mode no
requirepass a1s2W3l4%G
同时设置为不守护进程模式,把daemonize no 改为daemonize yes变为后台启动