前言
Redis远程连接一直是一个困扰我许久的问题,由于笔者在自学Java的过程中经常会利用VMware起一个虚机,然后在其中部署一些必备组件,模拟真实生产环境,但经常会因为无法完成远程连接导致心态爆炸,因此笔者查阅了近三小时的资料,并在一番水磨工夫下终于有了一套完整的解决方案
开发环境说明:
- Ubuntu 18.04.5
- Windows 10
- Redis 5.0.5
- VMware 12
解决思路
-
检查虚拟机和本地电脑是否能互相连通
windows环境下可以使用telnet检查连接:telnet host port
注意:有些同学可能会出现telnet指令不存在等错误,可以 打开控制面板【大图标】 --> 程序与功能 --> 点击【启用或关闭Windows功能】 --> 勾选【Telnet客户端】通过上述方式开启telnet指令
如果主机无法ping通虚拟机,这说明两者不在一个网段上,可以修改VMnet8连接,自行设定ipv4地址,将两者放置相同网段内
如上图,进行适配器设置,右键单击VMnet8设置自行设定ipv4地址
-
虚拟机防火墙开放6379端口, 并保存防火墙设置
sudo iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
sudo iptables-save
-
修改redis.conf
首先将bind参数修改为0.0.0.0,这样任意地址都可以访问redis;其次将protected-mode参数设置为no,禁止保护模式。这样即可完成设置,当然也可以设置daemonize参数【将redis以守护线程的形式开启】,requirepass参数【设置redis密码】,同学们可以根据需要自行设置
至此,只要保证生产环境配置正确,按照上述步骤逐一检查,我相信所有的远程连接问题都应该能解决