(error) DENIED Redis is running in protected mode because protected mode is enabled
Redis protected-mode 是3.2 之后加入的新特性,在Redis.conf的注釋中,我們可以了解到,他的具體作用和啟用條件
鏈接redis 時只能通過本地localhost (127.0.0.1)這個來鏈接,而不能用網絡ip(192.168..)這個鏈接,如果用網絡ip 鏈接會報錯。
解決方案如下:
是說處於保護模式,只能本地鏈接,我們需要修改配置文件../redis.conf
1)打開配置文件把下面對應的注釋掉
# bind 127.0.0.1
- 1
2)保護模式
protected-mode no
- 1
3)Redis默認不是以守護進程的方式運行,可以通過該配置項修改,使用yes啟用守護進程,設置為no
daemonize no
- 1
4)最后關鍵的是:
沒反應應該是你啟動服務端的時候沒有帶上配置文件。你可以./redis-server redis.conf
你配置好了,但要重新啟動redis,如果還是報一樣的錯誤,很可能是沒有啟動到配置文件,所以需要真正的和配置文件啟動需要:
在redis.conf文件的當前目錄下:
$ redis-server redis.conf
- 1
如果還是所某個端口已在使用,那么可能是有 后台程序在占用該端口,需要kill 掉該程序,重新帶上配置文件。./redis-server redis.conf啟動。
將含有”redis”關鍵詞的進程殺死:
$ ps -ef | grep redis | awk ‘{print $2}’ | xargs kill -9
- 1
我的問題就是這個步驟解決的。