CentOS7 redis安裝 並作為基礎服務

塵微發表於2017-06-21

(原創:http://blog.csdn.net/u0100738…
寫此文,僅僅是為了增強記憶

安裝完成後,如果有需要修改Redis密碼的:

$ redis-cli
127.0.0.1:6379> ping #測試是否啟動成功
PONG
127.0.0.1:6379> config set requirepass “” #設定密碼
OK
127.0.0.1:6379> Quit #退出

安裝redis

1.正式安裝

希望將redis安裝到此目錄

/work/redis

希望將安裝包下載到此目錄

/work/software

安裝前環境需要gcc,如果沒有安裝gcc,請執行命令

yum install gcc

安裝指令

$ mkdir /work/redis  
$ cd /work/src  
$ wget http://redis.googlecode.com/files/redis-3.2.9.tar.gz  
$ tar xzf redis-3.2.9.tar.gz   
$ ln -s redis-2.6.14 redis #建立一個連結  
$ cd redis  
$ make PREFIX=/work/redis install #安裝到指定目錄中

關於redis的版本,可以去官網尋找redis官網
注意上面的最後一行,我們通過PREFIX指定了安裝的目錄。如果make失敗,一般是你們系統中還未安裝gcc,那麼可以通過yum安裝,再文章開頭已經指出

在安裝redis成功後,你將可以在/work/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時,其服務指令碼位於:

/work/software/redis-3.2.9/utils/redis_init_script

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

cp /work/software/redis-3.2.9/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指令碼。

更改redis指令碼

開啟使用vi開啟指令碼,檢視指令碼資訊:

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

看到的內容如下(下內容是更改好的資訊):

#!/bin/sh 
#chkconfig: 2345 80 90 
# Simple Redis init.d script conceived to work on Linux systems 
# as it does use of the /proc filesystem. 
   
REDISPORT=6379 
EXEC=/usr/local/redis/bin/redis-server 
CLIEXEC=/usr/local/redis/bin/redis-cli 
   
PIDFILE=/var/run/redis_${REDISPORT}.pid 
CONF="/etc/redis/${REDISPORT}.conf" 
   
case "$1" in 
    start) 
        if [ -f $PIDFILE ] 
        then 
                echo "$PIDFILE exists, process is already running or crashed" 
        else 
                echo "Starting Redis server..." 
                $EXEC $CONF & 
        fi 
        ;; 
    stop) 
        if [ ! -f $PIDFILE ] 
        then 
                echo "$PIDFILE does not exist, process is not running" 
        else 
                PID=$(cat $PIDFILE) 
                echo "Stopping ..." 
                $CLIEXEC -p $REDISPORT shutdown 
                while [ -x /proc/${PID} ] 
                do 
                    echo "Waiting for Redis to shutdown ..." 
                    sleep 1 
                done 
                echo "Redis stopped" 
        fi 
        ;; 
    *) 
        echo "Please use start or stop as first argument" 
        ;; 
esac

和原配置檔案相比:
1.原檔案是沒有以下第2行的內容的,

#chkconfig: 2345 80 90 

2.原檔案EXEC、CLIEXEC引數,也是有所更改。

EXEC=/work/redis/bin/redis-server   
CLIEXEC=/work/redis/bin/redis-cli 

3.redis開啟的命令,以後臺執行的方式執行。

$EXEC $CONF & 

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

佔據在前臺,佔用了主使用者介面,造成其它的命令執行不了。

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

mkdir /etc/redis    
cp /work/software/redis-3.2.9/redis.conf /etc/redis/6379.conf

這樣,redis服務指令碼指定的CONF就存在了。預設情況下,Redis未啟用認證,可以通過開啟6379.conf的requirepass 指定一個驗證密碼。
ps:制定方法再文章的最開頭

以上操作完成後,即可註冊yedis服務:

chkconfig --add redis

啟動redis服務

service redis start 

第三,將Redis的命令所在目錄新增到系統引數PATH中 ,
修改profile檔案:

vim /etc/profile  #注意,此時必須是要以root許可權身份,不然無法儲存

在最後行追加:

export PATH="$PATH:/work/redis/bin"

然後馬上應用這個檔案:

. /etc/profile    #.只有存在空格

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

$ redis-cli   
redis 127.0.0.1:6379> auth superman   
OK   
redis 127.0.0.1:6379> ping   
PONG   
redis 127.0.0.1:6379>

至此,redis 就成功安裝了。

總結下:在Linux系統中安裝redis,或多或少都能碰到一些問題。在此次安裝中3個大部分,
1.下載,安裝,這裡使用到wget命令,make命令,我不太懂make命令的使用,而且一直擔心make命令如何安裝到指定目錄下, 此次終於明白了。
2.如何將一個程式新增到服務,當然也對/etc/rc.d/init.d這個檔案有所瞭解。
3.如何將一個程式的一些命令新增到系統引數中,直接輸入命令就能達到對某個程式的操作。
其實就是指定好環境變數。
下篇簡單使用jedis來對redis進行存取。

作者:_popc
出處:http://www.cnblogs.com/_popc

部落格文章僅供交流學習,請勿用於商業用途。如需轉載,請務必註明出處。

相關文章