1.错误信息思考:
根据错误信息的字面意思,可以知道,redis-cli客户端程序,通过ip127.0.0.1,端口6379与redis服务器建立连接失败。说明当我们调用redis-cli时,默认是用本地回环地址去与服务器端建立连接。
2.解决问题思路:
服务器程序会在监听一个套接字(IP+端口号),等待客户端的连接。一般运行服务器程序的时候,都会加载一个配置文件。
redis服务器也会读取一个配置文件。
如果不知道配置文件在哪里,可以使用:
which redis.conf #或者 whereis redis.conf
来找到当前系统中的redis配置文件。
vim /path/to/redis.conf 如有权限不够,就使用 sudovim /path/to/redis.conf
找到 bind开头的配置行。
#表示此段内容被注释掉了。
bind 127.0.0.1 ::1 #表示redis服务程序会监听这台电脑上的本地环回地址(如果配置文件中,只bind了这一个ip,那么就不能远程访问这台服务器上的redis服务了)。
bind x.x.x.x ::1 #表示redis服务程序会监听我们指定的ip地址,当然这个ip地址必须是这台电脑的一个合法ip地址才行。
bind 0.0.0.0 ::1 #表示redis服务程序会监听任意一个合法的ip
回到我们的问题本身:Could not connect to Redis at 127.0.0.1:6379: Connection refused错误解析
应该是在配置文件中,bind 的ip地址 不是 127.0.0.1 或者 0.0.0.0
假如在配置文件中 的内容是:bind x.x.x.x ::1
那么再使用redis-cli连接redis-server时,应该使用 :
redis-cli -h x.x.x.x -p 6379 或者 redis-cli -h x.x.x.x -p port(配置文件中指定的端口号)