Redis的安裝與部署
1、下載安裝包
命令:wget http://download.redis.io/releases/redis-5.0.5.tar.gz
訪問https://redis.io/download 到官網進行下載。這裡下載最新的5.0.5版本.
2、安裝
1)在/usr/locat/目錄下新建redis資料夾
命令:touch redis
2)將下載的redis-5.0.5.tar.gz放在 /usr/locat/redis 目錄下
3)對redis-5.0.5.tar.gz進行解壓
命令:tar -zxf redis-5.0.5.tar.gz
4)進入解壓檔案目錄使用make對解壓的Redis檔案進行編譯
5)編譯完成之後,可以看到解壓檔案redis-5.0.5 中會有對應的src、conf等資料夾 ,如下圖
6)編譯成功後,進入src資料夾,執行make install進行Redis安裝
3、部署
1)在/usr/locat/redis 目錄下建立bin和etc檔案
建立bin命令:touchbin
建立etc命令:touch etc
2)回到剛剛安裝目錄,找到redis.conf,將其複製移動到 /usr/local/redis/ect 下
命令:mv redis.conf /usr/local/redis/etc/
3)進入src目錄,移動mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-server到/usr/local/redis/bin/
命令 :mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-server /usr/local/redis/bin/
4)執行redis-server 啟動redis
5)配置redis.conf檔案
redis.conf 配置解析(設定紅色的基本就可以自己用了,bind配置0.0.0.0後要在/etc/sysconfig/iptables配置相應的埠):
daemonize:如需要在後臺執行,把該項的值改為yes
pdifile:把pid檔案放在/var/run/redis.pid,可以配置到其他地址
bind:指定redis只接收來自該IP的請求,如果不設定,那麼將處理所有請求,在生產環節中最好設定該項(設定0.0.0.0 則改為用iptables來控制訪問許可權)
port:監聽埠,預設為6379
timeout:設定客戶端連線時的超時時間,單位為秒
loglevel:等級分為4級,debug,revbose,notice和warning。生產環境下一般開啟notice
logfile:配置log檔案地址,預設使用標準輸出,即列印在命令列終端的埠上
database:設定資料庫的個數,預設使用的資料庫是0
save:設定redis進行資料庫映象的頻率
rdbcompression:在進行映象備份時,是否進行壓縮
dbfilename:映象備份檔案的檔名
dir:資料庫映象備份的檔案放置的路徑
slaveof:設定該資料庫為其他資料庫的從資料庫
masterauth:當主資料庫連線需要密碼驗證時,在這裡設定
requirepass:設定客戶端連線後進行任何其他指定前需要使用的密碼
maxclients:限制同時連線的客戶端數量
maxmemory:設定redis能夠使用的最大記憶體
appendonly:開啟appendonly模式後,redis會把每一次所接收到的寫操作都追加到appendonly.aof檔案中,當redis重新啟動時,會從該檔案恢復出之前的狀態
appendfsync:設定appendonly.aof檔案進行同步的頻率
vm_enabled:是否開啟虛擬記憶體支援
vm_swap_file:設定虛擬記憶體的交換檔案的路徑
vm_max_momery:設定開啟虛擬記憶體後,redis將使用的最大實體記憶體的大小,預設為0
vm_page_size:設定虛擬記憶體頁的大小
vm_pages:設定交換檔案的總的page數量
vm_max_thrrads:設定vm IO同時使用的執行緒數量
6)再次啟動redis服務,並指定啟動服務配置檔案
命令:./redis-server /usr/local/redis/etc/redis.conf
7)檢視是否可以連線客戶端
附件:
1)檢視程序:netstat -tunpl|grep 6379
2)殺掉程序 kill -9 pid
3) 檢查是否安裝redis-cli:whereis redis-cli
4)檢查是否安裝redis-server:whereis redis-server
5)設定redis的密碼:
沒有密碼的情況下:輸入 redis-cli 命令,進入客戶端;輸入 config set requirepass **** (****為你要設定的密碼),設定成功的話會返回‘OK’字樣,然後重啟redis服務就可以了。
有密碼的情況下:輸入 redis-cli -h 127.0.0.1 -p 6379 -a ****(****為你心設定的密碼)命令 ,進入客戶端;輸入config set requirepass **** (****為你要設定的密碼),設定成功的話會返回‘OK’字樣,然後重啟redis服務就可以了。
6)停止redis
第一種方式:使用命令 redis-cli -h 127.0.0.1 -p 6379 -a ****shutdown
第二種方式:檢視程序,netstat -tunpl|grep 6379,殺掉程序 kill -9 pid
7)使用redis-cli
客戶端檢測連線是否正常
8)檢測6379埠是否在監聽
命令:netstat -lntp|grep6379
9)檢測後臺程序是否存在
命令:ps -ef|grep redis
10)啟動redis:
方式一:redis-server &
加上`&`號使redis以後臺程式方式執行
方式二:redis-server
11)常用命令
redis-server /usr/local/redis/etc/redis.conf //啟動redis
pkill redis //停止redis
解除安裝redis:
rm -rf /usr/local/redis //刪除安裝目錄
rm -rf /usr/bin/redis-* //刪除所有redis相關命令指令碼
rm -rf /usr/redis/redis-5.0.5 //刪除redis解壓資料夾
12)讓外網能夠訪問redis
a.配置防火牆:firewall-cmd --zone=public --add-port=6379/tcp --permanent(開放6379埠)
systemctl restart firewalld(重啟防火牆以使配置即時生效)
檢視系統所有開放的埠:firewall-cmd --zone=public --list-ports
b.此時 雖然防火牆開放了6379埠,但是外網還是無法訪問的,因為redis監聽的是127.0.0.1:6379,並不監聽外網的請求。
(一)把資料夾目錄裡的redis.conf配置檔案裡的bind 127.0.0.1前面加#註釋掉
(二)命令:redis-cli連線到redis後,通過 config getdaemonize和config getprotected-mode 是不是都為no,如果不是,就用config set 配置名 屬性 改為no。