失败经验:
我自己的机器是Windows的,先去官网(https://redis.io/download)下载了最新版的redis,解压之后详细看了一下根目录下面的README.md文档。发现然后自己把解压之后的文件copy到服务器的/opt/redis目录下面去,然后自己一顿乱点,没有用.....
成功经验:(参考地址:https://www.runoob.com/redis/redis-install.html)
主要参考了正确的安装方式、测试安装服务、设置外部服务访问方法。
第一步在Linux重新下载与安装:
进入/opt/redis
$ wget http://download.redis.io/releases/redis-5.0.5.tar.gz
$ tar xzf redis-5.0.5.tar.gz
$ cd redis-5.0.5
$ make
make命令分析:make命令会找到当前文件下面的Makefile文件然后去编译redis依赖的源文件。
完后 redis-2.8.17目录下会出现编译后的redis服务程序redis-server,还有用于测试的客户端程序redis-cli,两个程序位于安装目录 src 目录下:
第二步启动服务:
下面用默认配置启动redis服务.
$ cd src
$ ./redis-server ../redis.conf
显示启动成功。
第三步测试:
然后用测试demo验证服务可用:
$ cd src
$ ./redis-cli
redis> set foo bar
OK
redis> get foo
"bar"
这一步发现只是当前安装redis服务的机器本机可用,但是外部服务器无法访问。
第四步 设置外部服务访问:
看了redis.conf文件中:
发现外网仍然无法访问,外部端口开启:iptables -I INPUT -p tcp --dport 63798 -j ACCEPT
发现外部可以telnet通,但是reidis的其他客户端还是无法连接。
最后发现是由于安全级别导致的,我的redis可让任何服务访问而且端口对外暴露,现在它极度不安全,redis默认开启了保护模式,然后我关闭了保护模式并设置了密码访问,最后外部终于访问通。
再配置文件中关闭保护模式:protected-mode no
设置密码:requirepass
最后一步:重新启动redis,重新尝试连接,终于成功!