這篇是介紹在windows上安裝redis以及設定上踩過的雷。
下載:
安裝檔:https://github.com/MicrosoftArchive/redis/releases
本篇使用版本3.2.100,下載Redis-x64-3.2.100.msi來進行安裝
安裝:
雙擊msi檔案進行安裝首先是安裝路徑,使用預設的C:\Program Files\Redis\
設定Redis使用的Port。一樣預設使用6379並且加入防火牆的例外清單
限制Redis的記憶體使用上限。依照需求設定即可,可設可不設。
安裝好了之後會自動變成Windows service跑在背景。
現在我們使用Redis client tools來嘗試連到Redis server。
首先在安裝Redis的server中,開啟CMD進入Redis安裝目錄下(預設是C:\Program Files\Redis\)。
輸入
redis-cli -h 127.0.0.1
這個命令會使用Redis client端軟體(redis-cli.exe)連到Redis server(即位置127.0.0.1)
成功連上之後輸入
ping
會得到server的回應
PONG
以上,收到PONG訊息表示Redis service沒有問題也可以開始使用了....
But!!
人生最悲哀的就是那個But...
筆者從另外一台機器想要存取Redis時卻發現無法連線,使用telnet指令嘗試Redis server的6379 port也發現沒有通。
整理一下目前的狀況:
1. 從Redis server(ip: 10.1.1.1)裡使用redis-client可以連線到127.0.0.1的Redis service
2. 從另外一台機器(ip: 10.1.1.2)連接不到Redis Server,telnet 6379 port也沒有通
3. Redis server上的防火牆在安裝時也已經allow 6379 port了
難道Redis只允許本機(127.0.0.1)的連線嗎?
回到Redis server,在CMD輸入指令
netstat -ano | findstr :6379
這個指令可以列出使用6379 port的服務的一些資訊從圖中可以看到列出的資訊寫到TCP 127.0.0.1:6379,這邊顯示Redis預設是只監聽127.0.0.1的連線。
設定:
找到問題點就很好解決,這些相關的設定一定有個設定檔讓使用者設定。
回到Redis安裝目錄下(C:\Program Files\Redis\),找到redis.windows-service.conf。
(附註:因為筆者的Redis是windows service啟動的,故修改redis.windows-service.conf。如果是使用redis-server.exe來啟動Redis的話,則需要修改的是redis.windows.conf)
其中NETWORK的章節有個bind的設定
將bind 127.0.0.1多加上Redis server的ip即可
bind 127.0.0.1 10.1.1.1
改好後存檔、重啟Redis service後即可。回到另一台機器後就會發現能成功連上redis server了。
讚喔
回覆刪除