centos6 安裝redis-4.0.9


從redis官網下載Linux redis4.0.9版本,我下載的redis-4.0.9.tar.gz(目前最新穩定版),下載到/usr/local/src目錄,如果沒有就mkdir創建一個.

下載鏈接:https://redis.io/download

http://download.redis.io/releases/redis-4.0.9.tar.gz

############  開始  ###############

 

################################## 1.安裝redis ######################################

 

將安裝包下載到此目錄

/usr/local/src

 

 

將redis安裝到此目錄

/usr/local/redis

 

  

  安裝過程指令如下:

mkdir /usr/local/redis  
 cd /usr/local/src  
 tar xzf redis-4.0.9.tar.gz   
 ln -s redis-4.0.9 redis #建立一個鏈接  
 cd redis  
 make PREFIX=/usr/local/redis install #安裝到指定目錄中

 


 

start

  上面的最后一行,我們通過PREFIX指定了安裝的目錄。如果make失敗,一般是你們系統中還未安裝gcc,那么可以通過yum安裝:

 

yum install gcc

安裝完成后,繼續執行make. 

這里也可以執行更新yum

 

sudo yum update

 end


 

  

  在安裝redis成功后,你將可以在/usr/local/redis看到一個bin的目錄,里面包括了以下文件:

redis-benchmark  redis-check-aof  redis-check-dump  redis-cli  redis-server

 

  

################################# 2.將redis做成一個服務並注冊 ################################

1.復制腳本到/etc/rc.d/init.d目錄 
ps: /etc/rc.d/init.d/目錄下的腳本就類似與windows中的注冊表,在系統啟動的時候某些指定腳本將被執行 
按以上步驟安裝Redis時,其服務腳本位於:

 

/usr/local/src/redis/utils/redis_init_script 

 

 

  必須將其復制到/etc/rc.d/init.d的目錄下:

cp /usr/local/src/redis/utils/redis_init_script /etc/rc.d/init.d/redis

 

  

將redis_init_script復制到/etc/rc.d/init.d/,同時易名為redis。

如果這時添加注冊服務:

 

chkconfig --add redis

  將報以下錯誤:

redis服務不支持chkconfig

為此,我們需要更改redis腳本。 

2.更改redis腳本 
打開使用vi打開腳本,查看腳本信息:

 

vim /etc/rc.d/init.d/redis

 

看到的內容如下(下內容是更改好的信息):

 1 #!/bin/sh 
 2 #chkconfig: 2345 80 90 
 3 # Simple Redis init.d script conceived to work on Linux systems 
 4 # as it does use of the /proc filesystem. 
 5    
 6 REDISPORT=6379 
 7 EXEC=/usr/local/redis/bin/redis-server 
 8 CLIEXEC=/usr/local/redis/bin/redis-cli 
 9    
10 PIDFILE=/var/run/redis_${REDISPORT}.pid 
11 CONF="/etc/redis/${REDISPORT}.conf" 
12    
13 case "$1" in 
14     start) 
15         if [ -f $PIDFILE ] 
16         then 
17                 echo "$PIDFILE exists, process is already running or crashed" 
18         else 
19                 echo "Starting Redis server..." 
20                 $EXEC $CONF & 
21         fi 
22         ;; 
23     stop) 
24         if [ ! -f $PIDFILE ] 
25         then 
26                 echo "$PIDFILE does not exist, process is not running" 
27         else 
28                 PID=$(cat $PIDFILE) 
29                 echo "Stopping ..." 
30                 $CLIEXEC -p $REDISPORT shutdown 
31                 while [ -x /proc/${PID} ] 
32                 do 
33                     echo "Waiting for Redis to shutdown ..." 
34                     sleep 1 
35                 done 
36                 echo "Redis stopped" 
37         fi 
38         ;; 
39     *) 
40         echo "Please use start or stop as first argument" 
41         ;; 
42 esac 

和原配置文件相比(以下幾處都要更改,特別是第一個#chkconfig,否則會導致無法添加配置)

1.需要添加第二行內容如以上腳本中第二行:

 

#chkconfig: 2345 80 90 

 

  2.原文件EXEC、CLIEXEC參數,也是有所更改。

EXEC=/usr/local/redis/bin/redis-server
CLIEXEC=/usr/local/redis/bin/redis-cli

  3.redis開啟的命令,以后台運行的方式執行。

$EXEC $CONF & 

ps:注意后面的那個“&”,即是將服務轉到后面運行的意思,否則啟動服務時,Redis服務將 

占據在前台,占用了主用戶界面,造成其它的命令執行不了。

  4.將redis配置文件拷貝到/etc/redis/${REDISPORT}.conf

 

 

 

mkdir /etc/redis    
cp /usr/local/src/redis/redis.conf /etc/redis/6379.conf

 

 

這樣,redis服務腳本指定的CONF就存在了。默認情況下,Redis未啟用認證,可以通過開啟6379.conf的requirepass 指定一個驗證密碼。 

以上操作完成后,即可注冊yedis服務:

 

chkconfig --add redis

 

  

 

3.啟動redis服務

 

service redis start 

########################  3.將Redis的命令所在目錄添加到環境變量PATH中 ##############################

  修改profile文件:

 

vi /etc/profile

 

 

在最后行追加: 

 

export PATH="$PATH:/usr/local/redis/bi

 

  

  應用這個文件

. /etc/profile  

 

 

####################################  4.設置redis密碼 #########################################

打開配置文件:# vi /etc/redis/6379.conf

 

vi /etc/redis/6379.conf 

 

進入命令模式查找"requirepass"字符串,找到這一段,去掉前面的#號,后面密碼就自定義了(此處修改為-Tq8UA7zredis)

 

 

 1 # Warning: since Redis is pretty fast an outside user can try up to
 2 # 150k passwords per second against a good box. This means that you should
 3 # use a very strong password otherwise it will be very easy to break.
 4 #
 5 requirepass -Tq8UA7zredis
 6 
 7 
 8 # Command renaming.
 9 #
10 # It is possible to change the name of dangerous commands in a shared
11 # environment. For instance the CONFIG command may be renamed into something
12 # hard to guess so that it will still be available for internal-use tools
13 # but not available for general clients. 

 

 

 

要使配置生效可以重啟一下

 

#####################################  5.安裝完成,進入redis ####################################

這樣就可以直接調用redis-cli的命令了,如下所示:

 

redis-cli   
redis 127.0.0.1:6379> auth -Tq8UA7zredis   
OK  
redis 127.0.0.1:6379>

    PS:可能需要防火牆將6379端口打開外部就能訪問了

 

 

 

解決問題redis問題:ERR Client sent AUTH, but no password is set

明明在redis.conf中設置了密碼,而且redis還啟動了,為什么說沒有密碼呢?

大家都知道linux下啟動redis有很多種方法,

其中有 ./redis-server &  

這種方法啟動,不會帶上你的redis.conf配置文件啟動

還有 ./redis-server ../redis.conf

這種方法啟動的時候,會去帶上配置文件redis.conf

上面的問題 ERR Client sent AUTH, but no password is set 。我遇到過一次,原因是我大意了,我用了第一種方式啟動

這個時候redis是沒有密碼的,但是我的redis配置文件中配置了密碼,所以當我在set值的時候就報這個錯誤了。

所以如果你配置了redis.conf這個文件,那么啟動redis的時候也一定要帶上這個文件啟動。

那么解決問題就要先退出來

cd /usr/local/redis/bin
service redis stop

./redis-server

-bash: ./redis-server: 沒有那個文件或目錄 ,

經過搜索:  

find / -name redis-server

 /usr/local/redis/bin/redis-server

原來是能在當前bin的目錄下才能執腳本文件

cd /usr/local/redis/bin/

 再次執行

[root@cloud bin]# ./redis-server


成功顯示Redis信息


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM