CentOS 7.4安裝redis 4.0詳細步驟

迷倪小魏發表於2018-05-29

 

一、redis單例項安裝


1、安裝依賴包

[root@VM_2_13_centos redis]# yum install gcc*

 

2、獲取安裝檔案

[root@VM_2_13_centos redis]# wget

 

3、解壓檔案

[root@VM_2_13_centos redis]# tar zxvf redis-4.0.9.tar.gz

 

[root@VM_2_13_centos redis]# ll

total 1708

drwxrwxr-x 6 root root    4096 Mar 27 00:04 redis-4.0.9

-rw-r--r-- 1 root root 1737022 Mar 27 00:04 redis-4.0.9.tar.gz

 

4、編譯安裝

[root@VM_2_13_centos redis-4.0.9]# make

[root@VM_2_13_centos redis-4.0.9]# make PREFIX=/usr/local/redis install

cd src && make install

make[1]: Entering directory `/usr/local/redis/redis-4.0.9/src'

    CC Makefile.dep

make[1]: Leaving directory `/usr/local/redis/redis-4.0.9/src'

make[1]: Entering directory `/usr/local/redis/redis-4.0.9/src'

 

Hint: It's a good idea to run 'make test' ;)

 

    INSTALL install

    INSTALL install

    INSTALL install

    INSTALL install

    INSTALL install

 

5、檢視redis的版本

[root@VM_2_13_centos ~]# redis-server --version

Redis server v=4.0.9 sha=00000000:0 malloc=jemalloc-4.0.3 bits=64 build=c97ec2b5e9b86914

 

6、啟動redis

[root@VM_2_13_centos redis]# /usr/local/redis/bin/redis-server /etc/redis/redis.conf

 

[root@VM_2_13_centos redis]# netstat -tuplan | grep 6379

tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      5305/redis-server 1

 

[root@VM_2_13_centos redis]# ps -ef | grep redis

root      5305     1  0 21:38 ?        00:00:00 /usr/local/redis/bin/redis-server 127.0.0.1:6379

root      5356 30807  0 21:39 pts/1    00:00:00 grep --color=auto redis

 

7、透過客戶端登入

[root@VM_2_13_centos ~]# redis-cli

127.0.0.1:6379>

 

備註:如果要解除安裝redis,把/usr/local/redis/bin/目錄下的redis刪除即可。為了解除安裝乾淨,你還可以把解壓和編譯的redis包及配置的redis.conf也刪除。

 

二、安全配置

 

1、設定密碼

redis的預設安裝是不設定密碼的,可以在redis.conf中進行配置

[root@VM_2_13_centos ~]# vim /etc/redis/redis.conf

requirepass qcloud@2018

 

或者透過命令配置

127.0.0.1:6379>CONFIG set requirepass qcloud@2018

 

由於Redis的效能極高,並且輸入錯誤密碼後Redis並不會進行主動延遲(考慮到Redis的單執行緒模型),所以攻擊者可以透過窮舉法破解Redis的密碼(1秒內能夠嘗試十幾萬個密碼),因此在設定時一定要選擇複雜的密碼,可以用隨機密碼生成器生成。

注意:配置Redis複製的時候如果主資料庫設定了密碼,需要在從資料庫的配置檔案中透過masterauth引數設定主資料庫的密碼,以使從資料庫連線主資料庫時自動使用AUTH命令認證。

 

驗證密碼是否有效,是否需要認證

[root@VM_2_13_centos ~]# redis-cli

127.0.0.1:6379>

127.0.0.1:6379> keys *

(error) NOAUTH Authentication required.

127.0.0.1:6379>

127.0.0.1:6379> auth qcloud@2018

OK

127.0.0.1:6379>

127.0.0.1:6379> keys *

(empty list or set)

 

 

2、禁用高危命令

目前該命令可以正常使用

127.0.0.1:6379> flushall

OK

 

關閉redis,但是由於上面設定了密碼,必須要認證成功後才能關閉

[root@VM_2_13_centos ~]# redis-cli shutdown

(error) NOAUTH Authentication required.

 

[root@VM_2_13_centos ~]# redis-cli -a qcloud@2018 shutdown

[root@VM_2_13_centos ~]#

[root@VM_2_13_centos ~]# ps -ef | grep redis

root      6144  5406  0 21:54 pts/0    00:00:00 grep --color=auto redis

 

修改配置檔案redis.conf,增加如下行:

[root@VM_2_13_centos ~]# vim /etc/redis/redis.conf

rename-command FLUSHALL ""

rename-command CONFIG   ""

rename-command EVAL     ""

 

重新啟動redis

[root@VM_2_13_centos ~]# redis-server /etc/redis/redis.conf

[root@VM_2_13_centos ~]#

[root@VM_2_13_centos ~]# redis-cli

127.0.0.1:6379>

127.0.0.1:6379> keys *

(error) NOAUTH Authentication required.

127.0.0.1:6379>

127.0.0.1:6379> auth qcloud@2018

OK

127.0.0.1:6379>

127.0.0.1:6379> flushall

(error) ERR unknown command 'flushall'

 

127.0.0.1:6379>

127.0.0.1:6379> config

(error) ERR unknown command 'config'

127.0.0.1:6379>

127.0.0.1:6379> eval

(error) ERR unknown command 'eval'

透過上面的報錯可以發現,在配置檔案禁用的三個命令無法使用

 

3、繫結只能本機訪問

[root@VM_2_13_centos ~]# vim /etc/redis/redis.conf

bind 127.0.0.1

 

 

4、設定redis開啟自啟動

[root@VM_2_13_centos ~]# vim /etc/rc.d/rc.local

/usr/local/redis/bin/redis-server /etc/redis/redis.conf &

 


關於redis的相關內容可參考部落格:

redis配置檔案中各引數詳解:http://blog.itpub.net/31015730/viewspace-2154818/
深入理解redis的持久化:http://blog.itpub.net/31015730/viewspace-2153178/


作者:SEian.G(苦練七十二變,笑對八十一難)

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31015730/viewspace-2155307/,如需轉載,請註明出處,否則將追究法律責任。

相關文章