安裝Redis完整過程

來源:互聯網
上載者:User

標籤:

概述
   首先報告一下我系統的版本:

[[email protected] init.d]# cat /etc/issue


   系統版本資訊如下:

引用


CentOS release 6.4 (Final)
Kernel \r on an \m



安裝Redis

   希望將Redis安裝在此目錄下:

引用

/usr/local/redis


  參考 http://redis.io/download的安裝說明,做調整: 

引用


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


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

yum install gcc


  安裝完成後,則執行make.
 
  在安裝redis成功後,你將可以在/usr/local/redis看到一個bin的目錄,裡麵包括了以下檔案:

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

修改系統設定檔,執行命令

 echo vm.overcommit_memory=1 >> /etc/sysctl.conf

 sysctl vm.overcommit_memory=1 或執行echo vm.overcommit_memory=1 >>/proc/sys/vm/overcommit_memory

使用數字含義:

0,表示核心將檢查是否有足夠的可用記憶體供應用進程使用;如果有足夠的可用記憶體,記憶體申請允許;否則,記憶體申請失敗,並把錯誤返回給應用進程。

1,表示核心允許分配所有的實體記憶體,而不管當前的記憶體狀態如何。

2,表示核心允許分配超過所有實體記憶體和交換空間總和的記憶體

 redis設定檔解析

redis.conf

daemonize yes---目的使進程在後台運行

參數介紹:

daemonize:是否以後台daemon方式運行

pidfile:pid檔案位置

port:監聽的連接埠號碼

timeout:請求逾時時間

loglevel:log資訊層級

logfile:log檔案位置

databases:開啟資料庫的數量

save * *:儲存快照的頻率,第一個*表示多長時間,第三個*表示執行多少次寫操作。在一定時間內執行一定數量的寫操作時,自動儲存快照。可設定多個條件。

rdbcompression:是否使用壓縮

dbfilename:資料快照檔案名稱(只是檔案名稱,不包括目錄)

dir:資料快照的儲存目錄(這個是目錄)

appendonly:是否開啟appendonlylog,開啟的話每次寫操作會記一條log,這會提高資料抗風險能力,但影響效率。

appendfsync:appendonlylog如何同步到磁碟(三個選項,分別是每次寫都強制調用fsync、每秒啟用一次fsync、不調用fsync等待系統自己同步)

6. 啟動redis

 $ cd /usr/local/bin

 ./redis-server /etc/redis.conf

 檢查是否啟動成功

$ ps -ef | grep redis

將Redis做成一個服務

1.複製指令碼到/etc/rc.d/init.d目錄

   按以上步驟安裝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的服務指令碼

  

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


 
看到以下的檔案內容:

#!/bin/bash#chkconfig: 2345 80 90# Simple Redis init.d script conceived to work on Linux systems# as it does use of the /proc filesystem.REDISPORT=6379EXEC=/usr/local/redis/bin/redis-serverCLIEXEC=/usr/local/redis/bin/redis-cliPIDFILE=/var/run/redis_${REDISPORT}.pidCONF="/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


    這時如果註冊將報錯,要添加再註冊就OK了。
 
   2)更改EXEC、CLIEXEC參數,設定對應的值,如上所示即和我們前面安裝的一致。

   3)更改redis開啟的命令,以後台啟動並執行方式執行:
  

$EXEC $CONF &


   注意後面的那個“&”,即是將服務轉到後面啟動並執行意思,否則啟動服務時,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 指定一個驗證密碼。


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

chkconfig --add redis



3.啟動Redis服務

 

$ service redis start



將Redis的命令所在目錄添加到系統參數PATH中

修改profile檔案:
#vi /etc/profile
在最後行添加:

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


然後馬上應用這個檔案:

. /etc/profile



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

$ redis-cliredis 127.0.0.1:6379> auth supermanOKredis 127.0.0.1:6379> pingPONGredis 127.0.0.1:6379>


  由於上面我開啟了安全驗證功能,密碼為superman,因此需要auth後才能和伺服器互動。

<完>

  

安裝Redis完整過程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.