失敗經驗:
我自己的機器是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,重新嘗試連接,終於成功!