RedisDesktopManager連線Linux中的Redis

2020-09-30 14:00:32

案發現場:

今天早晨用RedisDesktopManager連線Redis失敗,發現連線不上,歷經了千辛萬苦,終於找到了問題所在。

機器設定:

1.檢視安裝RedisDesktopManager的機器是否能ping通Redis的機器。

注:我的redis的機器的地址是:192.168.56.104

如何檢視安裝Redis機器的地址呢?
因為Linux會有很多個網路卡,需要找到和自己虛擬機器器連線的網路卡的ip地址。最簡單的方式就是在Linux中輸入命令

ip addr 

然後把所有的ip地址都ping一遍。

命令:

# ip即為你安裝Redis的機器的ip地址
ping #{ip}

在這裡插入圖片描述

2.檢視安裝Redis的機器防火牆是否關閉

  • 因為Redis預設的埠號是6379,如果使用者沒有修改組態檔,則開啟6379埠即可。

如何檢視我有沒有修改過埠呢?
找到Redis機器中Redis的組態檔:redis,conf強烈建議複製出來一個組態檔:redis.conf,因為修改錯誤,可能會會出現意想不到的麻煩.
在這裡插入圖片描述
內容
# Accept connections on the specified port, default is 6379 (IANA #815344).
# If port 0 is specified Redis will not listen on a TCP socket.
翻譯
接受指定埠上的連線,預設為6379 (IANA #815344)。
# If port 0 is specified Redis will not listen on a TCP socket.
所以port 後面的數位就是埠號。

然後執行下面的命令,檢視埠號的方式請看上面。

firewall-cmd --query-port=6379/tcp
  • 如果返回yes,就直接跳過這一步,直接進入redis設定
  • 如果返回no,就證明6379這個埠沒有開啟。執行下面的命令
[root@linux~]#firewall-cmd --add-port=6379/tcp
  • 如果返回success,證明這個埠號已經開啟,然後再執行下面的命令。
firewall-cmd --query-port=6379/tcp
  • 此時就應該返回yes,證明6379這個埠開啟了。

我們進行完了機器的設定,接下來,我們要進行Redis組態檔的設定。

Redis設定

1.設定bind

在這裡插入圖片描述
大概翻譯:

預設情況下,如果沒有指定「繫結」設定指令,Redis監聽伺服器上所有可用網路介面的連線。可以使用「bind」設定指令監聽一個或多個選擇的介面,後面跟著一個或多個IP地址。

需要注意的是:

~警告~如果計算機執行Redis是直接暴露在,在internet上,繫結到所有介面是危險的,並將暴露
給網際網路上的每個人。舉個例子。預設情況下,我們取消註釋,遵循bind指令,這將迫使Redis只監聽,IPv4環回介面地址(這意味著Redis將能夠只接受來自執行到同一計算機的使用者端的連線正在執行)。

所以說,如果大家是學習使用,那麼可以將這個註釋掉。警告!!如果將Redis對映到Internet是非常危險的。就像上面組態檔的翻譯這樣說。

2.安全模式

在這裡插入圖片描述

翻譯:

在網際網路上開放的Redis範例被存取和利用。
當保護模式是開啟,如果:
1)伺服器沒有使用「bind」指令顯式地繫結到一組地址。
2)沒有設定密碼。

伺服器只接受來自使用者端的連線,這些連線來自IPv4和IPv6環回地址127.0.0.1和::1,以及Unix域通訊端。

預設保護模式是啟用的。你應該禁用它,只有當你確定你想要客戶從其他主機連線到Redis,即使沒有身份驗證設定,也沒有一個特定的介面設定明確列出使用「繫結」指令。

解決方案:
將yes改成no,因為我已經修改過了,所以是yes

指定組態檔,重新啟動Redis(一定要重新啟動)

 ps -aux | grep redis

在這裡插入圖片描述

  • 2199 是程序號,殺掉這個程序。
sudo kill -9 2199

然後重新啟動:

[root@localhost /]# /usr/local/bin/redis-server /myredis/redis.conf 
[root@localhost /]# /usr/local/bin/redis-cli  -p 6379 

注意 : /myredis/redis.conf是我組態檔的位置。

這個問題困擾了我一上午,都設定好了,都不行,最好請來了運維大佬給我解決了,我的問題是設定好以後,redis並沒有真正意義上的重新啟動。

相關連結

·使用RedisDesktopManager使用者端無法連線Redis伺服器問題解決辦法