前几天在自己的阿里云服务器上部署一个redis服务,正常启动成功,外网不能访问,调研了好多博客,千篇一律的方案,最终也没能解决掉问题,向前辈请教,才搞定了这个问题,记录一下,随手记,截图后期补上;
安装步骤,就不细说了,可以在线安装(可以tar命令解压tar.gz包会报错,这个问题百度有解决方案,主要是wget命令后面要加参数就好了,回头补上);
解压之后就是进入到目录下,执行make命令进行编译
编译完成,在目录下src/redis-server可以启动服务。
此时我们启动的服务,外网是不能成功访问的,我们要去配置文件里面改几个东西:
1.bind 127.0.0.1这一行表示绑定的监控地址是本机,我们要启动的服务是要监控所有ip的,所以改为0.0.0.0
2.requirepass 这个是配置redis访问密码的,需要把注释打开,配置好自己的密码,如果不配密码,外网访问好像会报错验证不通过。
3,在阿里云控制台将6379端口开放。
4.重新启动redis服务。
问题就出现在此刻:
网上有小伙伴说要打开防火墙什么的,都试过了没有用,如果打开防火墙,我Windows终端中用命令telnet 查看端口,是完全没有响应的,所以不是这里的问题。
防火墙不关闭的情况下,我们去telnet命令会报错如下:
遗失对主机的连接,一脸懵,密码什么的都设置了,不知道为什么验证没有过。
最后仔细看了下,报的错,倒数第三行,有个protectde-mode no 问题就在这儿,这这个配置了外网保护,在配置文件里面这个默认是yes,就是开启状态的,所以外网访问会报错,现在去改配置文件;
改完如下,关闭外网保护模式,然后重启服务,用telnet再去访问,一片黑,这就对了,成功。