本文測驗驗證的作業系統為CentOS Linux release 7.8.2003 (Core), Redis版本為redis-6.0.8, 敬請注意,如有不同,請以實際情況為準,
下載編譯Redis
# wget http://download.redis.io/releases/redis-6.0.8.tar.gz# tar -xzvf redis-6.0.8.tar.gz# cd redis-6.0.8# make# cd src && make install #可選命令,如果你想將redis安裝到/usr/local/bin下,可以執行該命令,一般不用此命令
注意:redis執行了make install后,redis的可執行檔案都會自動復制到 /usr/local/bin 目錄下
make編譯時,如果提示"It’s a good idea to run 'make test' "則代表編譯安裝成功,

創建普通用戶
# groupadd redis# useradd redis -g redis -s /sbin/nologin
創建目錄存放redis命令和組態檔
我們將redis主目錄放在/usr/local下面,當然,你可以將其放置在其他目錄下,例如/home/redis下
# mkdir -p /usr/local/redis/bin
# mkdir -p /usr/local/redis/etc
移動檔案
#pwd/tmp/redis-6.0.8
# mv redis.conf /usr/local/redis/etc/# cd src/# mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-server redis-sentinel redis-trib.rb /usr/local/redis/bin# cd /usr/local/redis/bin# ls -lrttotal 57184
-rwxrwxr-x. 1 root root 3600 Sep 10 2020 redis-trib.rb
-rwxrwxr-x. 1 root root 735 Sep 10 2020 mkreleasehdr.sh
-rwxr-xr-x. 1 root root 11351968 Jul 27 14:46 redis-server
-rwxr-xr-x. 1 root root 11351968 Jul 27 14:46 redis-sentinel
-rwxr-xr-x. 1 root root 6727200 Jul 27 14:47 redis-cli
-rwxr-xr-x. 1 root root 6399120 Jul 27 14:47 redis-benchmark
-rwxr-xr-x. 1 root root 11351968 Jul 27 14:47 redis-check-rdb
-rwxr-xr-x. 1 root root 11351968 Jul 27 14:47 redis-check-aof
redis-server redis服務器
redis-cli redis命令列客戶端
redis-benchmark redis性能測驗工具
redis-check-aof aof檔案修復工具,日志檔案檢測工(比如斷電造成日志損壞,可以檢測并修復)
redis-check-dump rdb檔案檢查工具
redis-check-rdb 快照檔案檢測工具
redis-sentinel Redis哨兵啟動檔案
redis-trib.rb 官方提供的Redis Cluster的管理工具,無需額外下載,默認位于原始碼包的src目錄下,但因該工具是用ruby開發的,所以需要準備相關的依賴環境
修改目錄的Owner
# chown -R redis:redis /usr/local/redis/# ls -lrt /usr/local/redis/total 0
drwx------. 2 redis redis 194 Aug 11 14:21 bin
drwx------. 2 redis redis 40 Aug 11 14:27 etc
Redis安全&配置
1:在redis.conf組態檔檔案中系結本機IP
bind 127.0.0.1 192.168.xxx.xxx
如果服務器有多個IP,可限定Redis Server監聽的IP;也可以通過Redis配置項bind,可同時系結多個IP,如上所示,

默認情況下,如果沒有指定“bind”配置指令,Redis 會監聽來自服務器上所有可用網路介面的連接,所以一般應該限定本機訪問或特定IP訪問,
2:指定日志記錄級別
默認情況下,日志記錄級別為 notice ,這個是生產環境的默認配置,可以根據具體需要調整日志記錄級別,
3:配置log檔案的地址
log檔案位置,默認值為stdout,使用“標準輸出”,默認后臺模式會輸出到/dev/null
# mkdir /var/log/redis
# chown -R redis:redis /var/log/redis/
logfile "/var/log/redis/redis.log"
注意:如果你設定了redis日志的路徑,必須確保該路徑已經存在,例如,當前案例,不存在這樣的目錄,那么我們先創建該目錄,并將其owner修改為redis用戶
# mkdir /var/log/redis
# chown -R redis:redis /var/log/redis
4:后臺啟動的話需要修改redis.conf檔案,daemonize no ---- >daemonize yes,

5:修改默認埠
Redis服務端默認鏈接埠是6379,可以修改埠號,避免使用熟知埠,降低被初級掃描的風險,
port xxxxx
這個簡單測驗,使用埠6676
port 6676
6:默認情況下,Redis是無需密碼登錄的,這意味著你無需通過密碼驗證就可以直接連接到Redis服務,這樣其實是非常不安全的,所以建議設定密碼驗證,
注意:Redis因查詢效率高,auth 這種命令每秒能處理 10w 次以上,簡單的 Redis 密碼極容易為攻擊者暴破,所以建議設定一個超長(24位以上)的密碼,
requirepass 75612a867ceeb452924c98778caa959c37120bfff6582aaad48298acbf320b28
7:盡量將Redis限制在內網使用,避免公網訪問,另外設定 iptables 策略,僅允許指定的 IP 訪問 Redis 服務,
$ iptables -A INPUT -s x.x.x.x -p tcp --dport xxxx -j ACCEPT
如果防火墻是firewalld,可以參考下面命令
#firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="xxx.xxx.xxx.xxx" port protocol="tcp" port="6676" accept"#systemctl restart firewalld.service
8: 限制redis檔案目錄訪問權限
設定redis的主目錄權限為700;
# chmod -R 700 /usr/local/redis/
如果redis組態檔獨立于redis主目錄,權限修改為600,因為Redis密碼明文存盤在組態檔中,
# chmod 600 /usr/local/redis/etc/redis.conf
此處案例中,我們將redis的日志放置在/var/log/redis目錄下,所以也一并修改redis日志目錄的訪問權限
# chmod -R 700 /var/log/redis/
啟動redis服務
禁止使用root用戶啟動redis,使用普通用戶啟動redis
如果以root用戶啟動的話,可以使用下面腳本,但是出于安全考慮,一般不建議使用root用戶啟動redis,
#/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
我們使用redis用戶啟動Redis服務
#sudo -u redis /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
注意:如果以redis用戶啟動,有時候會遇到“Can't chdir to './': Permission denied”這類錯誤
出現這個錯誤是因為我們沒有修改引數dir的值(默認為./),而沒有換到redis有權限訪問的目錄,然后執行上面shell命令,遇到權限問題,

驗證Redis服務啟動情況
# ps -ef | grep redis-serverredis 25258 1 0 14:49 ? 00:00:00 /usr/local/redis/bin/redis-server 127.0.0.1:6676root 25282 25207 0 14:50 pts/0 00:00:00 grep --color=auto redis-server
#/usr/local/redis/bin/redis-cli -p 6676127.0.0.1:6676> auth 75612a867ceeb452924c98778caa959c37120bfff6582aaad48298acbf320b28
OK
127.0.0.1:6676> ping
PONG
掃描上面二維碼關注我
如果你真心覺得文章寫得不錯,而且對你有所幫助,那就不妨幫忙“推薦"一下,您的“推薦”和”打賞“將是我最大的寫作動力!
本文著作權歸作者所有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連接.
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/308581.html
標籤:其它
上一篇:如何將這段代碼從FirebaseFirestorev8轉換為FirebaseFirestorev9ModularinReact
下一篇:Redis主從配置總結
