最近須要在服務器上安裝 redis,雖然只是一個小事情,但這個過程當中也遇到了很多的問題,因此作一個總結,也但願能給到其餘人一些幫助。linux
本文記錄了 linux 系統和 windows 系統的 redis 安裝git
$ wget http://download.redis.io/releases/redis-4.0.9.tar.gz
複製代碼
能夠更改版本號如: redis-4.0.0,redis-4.0.8 若是但願指定下載路徑,就先 cd 進相應的目錄中,不然默認 root 目錄github
$ tar xzf redis-4.0.9.tar.gz
$ cd redis-4.0.9
$ make
複製代碼
這時,有些人可能會出現 Errorredis
cd src && make all
make[1]: Entering directory `/root/redis-4.0.9/src' CC adlist.o /bin/sh: cc: command not found make[1]: *** [adlist.o] Error 127 make[1]: Leaving directory `/root/redis-4.0.9/src'
make: *** [all] Error 2
複製代碼
這是由於你的 linux 系統中沒有安裝 gcc 編譯器,用 yum install gcc
命令安裝一下gcc 便可windows
若是繼續出現錯誤,如:bash
zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
zmalloc.h:55:2: error: #error 「Newer version of jemalloc required」
make[1]: * [adlist.o] Error 1
複製代碼
則將 make
命令改成 make MALLOC=libc
服務器
$ src/redis-server
複製代碼
修改 redis.conf 文件將 daemonize 改爲 yes (Redis 服務默認是前臺運行)tcp
每次修改完 redis.conf 文件須要重啓 redis 並讀取最新的配置文件ui
關閉 redis 能夠 [root@izwz952coo41my3g6a3v2iz src]# redis-cli
進入 redis 中使用 shutdownspa
127.0.0.1:6379> shutdown
複製代碼
也能夠直接用 kill 命令關閉進程
而後從新啓動
[root@izwz952coo41 src]# ./redis-server ../redis.conf
複製代碼
進行到這裏,若是想要遠程鏈接 redis 的話,會發現沒法鏈接,而這是由於 redis 默認只支持本地訪問,因此咱們須要開放 IP 連接權限
修改 redis.conf 文件將 bind 127.0.0.1 註釋掉
註釋前查看進程
註釋後查看進程
說明已經開放權限
若是這時遠程鏈接 redis 還出現沒法鏈接的問題的話,頗有多是防火牆的問題(若是你打開了防火牆的話)
在linux下的防火牆中開放6379端口 firewall-cmd --zone=public --add-port=6379/tcp --permanent
若是顯示 success
說明開放成功
而後重啓防火牆 systemctl restart firewalld
redis 默認密碼爲空,若是想要更改 redis 的密碼,能夠直接更改 redis.conf 文件中的 requirepass
密碼更改後,在 redis 中輸入命令可能會出現認證問題
127.0.0.1:6379> (error) NOAUTH Authentication required.
複製代碼
只須要輸入 (password 爲你的密碼) 便可
127.0.0.1:6379> auth password
OK
複製代碼
redis 並不正式支持 windows,可是 github 上有 Microsoft 開放技術小組開發和維護的基於 windows 端口的 redis,但值得注意的是,這個項目只支持 64 位系統
連接: https://github.com/MicrosoftArchive/redis/releases
下載以後解壓,打開 cmd,進入 redis 目錄後使用命令 redis-server.exe redis.windows.conf
,啓動 redis 服務,另外使用 redis-cli.exe
進入客戶端