1. 程式人生 > >linux安裝redis及配置開機自啟

linux安裝redis及配置開機自啟

一、上傳Redis安裝包到Linux伺服器某檔案中,再解壓Redis安裝包

tar xzf redis-3.2.9.tar.gz  

二、進入Redis目錄

cd redis-3.2.9 

三、編譯原碼

Make  

圖例:

 

四、新建立一個目錄存放Redis的必要檔案,因為編譯生成的東西比較多,也亂

mkdir bin  

五、複製檔案

1、複製Redis的配置檔案(redis.conf)到bin目錄下。注意:這個配置檔案是在Redis根目錄的。

cp  redis.conf  /usr/redis/redis-3.2.9/bin/ 

 2、進入src目錄

cd src  

3、複製Redis的redis-server檔案到bin目錄下。

cp  redis-server  /usr/redis/redis-3.2.9/bin/  

4、複製Redis的redis-cli 檔案到bin目錄下。

cp  redis-cli  /usr/redis/redis-3.2.9/bin/  

5、複製Redis的redis-benchmark檔案到bin目錄下。

cp  redis-benchmark  /usr/redis/redis-3.2.9/bin/  

六、再進入bin目錄

cd  /usr/redis/redis-3.2.9/bin/  

七、啟動Redis服務(前面是有點的),不能關閉這個(不能使用Ctrl+C終止,這樣會退出Redis服務的)

./redis-server  

八、需要再開啟另一個命令視窗啟動客戶端

1、先進入bin目錄

cd  /usr/redis/redis-3.2.9/bin/

2、啟動客戶端命令

./redis-cli 

3、然後就可以使用Redis命令操作了。

 九、Redis自動啟動見:

1、新建、編寫開機自啟動指令碼(redis-auto為新建的檔案)

vi /etc/init.d/redis-auto  

2、在檔案redis-auto加入如下內容:(注意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  
REDISPATH=/usr/redis/redis-3.2.9/bin  
EXEC=${REDISPATH}/redis-server  
CLIEXEC=${REDISPATH}/redis-cli  
PIDFILE=/var/run/redis_${REDISPORT}.pid  
CONF="${REDISPATH}/redis.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  

3、儲存退出

:wq 

4、設定檔案redis-auto的許可權,讓Linux可以執行

chmod 755 redis-auto  

5、啟動Redis服務測試,此處啟動用的是第二步設定的啟動指令碼

/etc/init.d/redis-auto start  

 可以開啟redis-cli客戶端進行測試

6、設定開機自啟動:

chkconfig redis-auto on  

7、經過測試,Linux系統在重新啟動時,Redis的資料會自動丟失,解決方案見:

問題說明:

在Linux系統中,Redis本來是有資料的,但在Linux系統重啟後,Redis中的資料全部丟失。經過幾次測試都一樣,只有在Linux系統重啟才會丟失,Redis重啟應該是沒有問題的。

這個問題只在Linux系統才存在,在Windows系統是沒有問題的。

解決方案:

在Linux系統設定一個引數(vm.overcommit_memory)即可解決。

步驟如下:

1、編輯 sysctl.conf 配置檔案

vi /etc/sysctl.conf 

2、另起一行增加引數 vm.overcommit_memory 配置,如下

vm.overcommit_memory = 1  

3、使配置檔案生效

sysctl -p   

再重啟Linux系統檢視資料是沒有丟失的