1. 程式人生 > >Linux上安裝Redis(Ubuntu16.04+Redis3.2.8)最煩網上流傳的那些根本走不通的教程

Linux上安裝Redis(Ubuntu16.04+Redis3.2.8)最煩網上流傳的那些根本走不通的教程

目      錄

3 編譯安裝

       4.1 啟動

       4.2 測試

           太煩網上流傳的那些根本走不通的教程,還到處複製傳播,所以嘔心瀝血寫了這個比較詳細的圖文教程,希望同行不要走彎路,如果按照本文操作遇到問題,請留言給我陳杰2017年4月

         需要說明的是本案例的操作中,為了避免每次命令都要敲sudo,所以我是用root賬號遠端登入操作的。關於如何允許root賬號遠端登入請看這個文章

           當然了,如果你不想用root登入,用普通賬號登入後,請使用sudo  -s先獲得管理員許可權,這樣也可以避免每次敲sudo執行命令。

1、下載Redis

如圖:

  

         如果官網下載失敗,需要下載相關的壓縮包和配置示例的話可以在這裡下載:

2、上載壓縮包到Linux伺服器

           這裡將Redis安裝到opt目錄下,這樣所有使用者登入上去都可以使用。

           使用遠端工具(例如,我需要上載或者下載檔案時使用的是SecureFX)連線Linux伺服器,使用root賬號登入(要              允許用root賬號遠端登入,需要做配置,這裡不展開),在opt目錄下新建一個名為redis的目錄,

           將redis-3.2.8.tar.gz拷貝到該目錄下

如圖:

3、編譯安裝

           使用遠端連線工具連線到Linux伺服器(可以使用普通賬號登入,然後使用sudo  -s命令獲得管理員許可權,也可以直接使用root賬號登入)

3.1、替換為國內的源

            因為要安裝makegcc等一些程式,需要根據源地址下載相關的東西,如果你的ubuntu16.04使用的還是國外的源,請替換成國內的源吧,否則要下載的東西幾乎是下不到的。關於替換成國內的源的問題,請參考此文章:http://blog.csdn.net/pucao_cug/article/details/65449292

  注意:替換為國內的源地址後,在繼續往下,這個很重要,否則你的很多安裝命令都會失敗,原因是被國內防火牆攔截了,訪問不到國外的下載地址。還有就是替換源地址後執行

apt-get update也是很重要,不能省略。

3.2、安裝make程式

     如果你的ubuntu16.04已經安裝了make程式就跳過此節。

執行命令安裝make程式apt-get  install  make回車

如圖:

  

3.3、安裝gcc程式

如果你的ubuntu16.04已經安裝了gcc程式就跳過此節。

執行命令安裝gcc程式apt-get  install  gcc回車

如圖:

 

很快,gcc就安裝完成了

如圖:

 

3.4、開始編譯Redis

     執行命令進入到redis目錄cd   /opt/redis回車

     執行命令對壓縮包進行解壓tar    -zxvf redis-3.2.8.tar.gz回車

解壓後得到了一個新的資料夾

如圖:

  

執行命令進入到這個目錄下cd    /opt/redis/redis-3.2.8回車

執行命令進行編譯make回車

稍等片刻,即可完成編譯

如圖:

 

            注意:這裡提示你執行make test進行測試,但是沒必要執行,因為要執行該命令還依賴其他一些東西,還要安裝其他東西,這裡就略去了,因為不影響後面安裝和啟動Redis

            還需要說明的是,如果你沒按照此文的步驟來做,需要安裝的東西沒裝好,解壓後上來就是直接make,很可能失敗,失敗後你在安裝其他依賴程式,安裝完在來make還是會一樣的失敗,這時候你應該把解壓得到的資料夾刪除了,重新解壓一個最新的,然後在make。

3.5、開始安裝Redis

執行命令進行安裝make  install回車

如圖:

 

如果沒報錯,說明安裝成功了,預設的安裝路徑是/usr/local/bin

如圖:

   

            說明:因為usr/local/bin 這個路徑是在環境變數中的,所以後面啟動redis時候,不需要使用cd進入到usr/local/bin目錄內,直接在任意路徑下執行啟動redis-server的命令即可。

4、啟動Redis

4.1、啟動

     執行啟動程式redis-server    /opt/redis/redis-3.2.8/redis.conf回車

      執行沒有報錯就會啟動成功,啟動成功就可以看到輸出

如圖:

          注意:這裡提示你執行make test進行測試,但是沒必要執行,因為要執行該命令還依賴其他一些東西,還要安裝其他東西,這裡就略去了,因為不影響後面安裝和啟動Redis

4.2、測試

 另外開一個遠端連線視窗

執行redis-cli這個程式並且傳入的引數ping,命令如下:

redis-cli   ping

       如果返回的是PONG,說明一切都是OK

如圖:

 

4.3、配置開機啟動redis

         如果覺得每次伺服器重啟,都要手動啟動redis-server不科學,那麼需要做兩件事情,第一是修改redis配置檔案,第二是在伺服器中配置上開啟啟動redis的指令碼。

4.3.1、修改redis.conf檔案

              (必配項)

         該檔案在我伺服器上存在的路徑是  /opt/redis/redis-3.2.8/redis.conf,編輯它增加下面的配置讓redis支援在後臺執行,增加配置:

daemonize  yes 

(選配項)

         下面的配置是改變日誌輸出的位置,預設是列印到控制檯上,因為大多數日誌都寫到/var/log裡,所以我們也遵循這個慣例,將redis日誌定向到這裡,增加配置:

logfile   "/var/log/redis.cj.log"

         (選配項)

         下面的配置是指定reids持久化的目錄,可以不配,也可以自己指定(注意:一定要記住如果配置了該目錄,而如果該目錄不存在的話,你必須手動建立,否則會報錯的,redis不會自己建立該目錄的),增加配置:

        dir    /opt/redis/data

其他配置項這裡就不細說了,我這裡配置了三個其中只有daemonize  yes是必須的

如圖:

      

 在強調一下,如果你也指定讓redis把持久化的東西報錯到/opt/redis/data這個目錄的話,你需要手動建立這個data目錄

  如圖:

      

4.3.2、在/etc/init.d/目錄下建立一個啟動檔案

          在在/etc/init.d/目錄下建立一個啟動檔案,該檔名可以任意取,這裡取名為redis

檔案內容的話其實不用自己來寫,redis已經給了我們一個現成的了,就是在解壓目錄裡面的utils目錄下的redis_init_script這個檔案。

如圖:

      

         你可以直接拷貝到/etc/init.d這個目錄下,可以任意改名字,但是我覺得還是用redis比較好吧。好了明白了要做什麼,直接用cp命令複製過去並且改名吧。

執行命令

cp   /opt/redis/redis-3.2.8/utils/redis_init_script   /etc/init.d/redis回車

如圖:

    

       執行成功後可以看到在/etc/init.d目錄下有了redis檔案

如圖:

   

       該檔案的內容如下(該檔案可以修改也可以不修改,這裡不用修改,使用原始的就行,後面有陸續步驟來配合該檔案)

#!/bin/sh

#

# Simple Redis init.dscript conceived to work on Linux systems

# as it does use of the/proc filesystem.

REDISPORT=6379

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

CLIEXEC=/usr/local/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

4.3.3、將redis.conf檔案拷貝到/etc/redis目錄下

            其實這個redis.conf檔案放哪裡都無所謂,只是因為要和那個啟動檔案對應,而那個啟動檔案redis裡我們暫時沒改內容,所以就遵照那個配置檔案的意思,在/etc/目錄下新建一個名為redis的目錄,在該目錄下把redis.conf拷貝過來,並且改名為埠號,例如預設是用6379埠。好了,明白了要做什麼,開始吧,同樣的簡單點用cp命令吧,只不過你需要把路徑改成你自己的,如果你的解壓路徑和我的不同的話。

     執行新建目錄的目錄  mkdir    /etc/redis

     執行拷貝命令 cp    /opt/redis/redis-3.2.8/redis.conf        /etc/redis/6379.conf

     執行成功後,在/etc/redis目錄下就有名為6379.conf的檔案了

如圖:

    

注意:這個配置檔案裡的內容是需要做修改的,不是解壓後的那個原始配置,具體的修改項請看4.3.1那個章節。

4.3.4、安裝sysv-rc-conf程式

         注意了chkconfig主要是Centos上用,我們當前用的是ubuntu16.04,你需要安裝sysv-rc-conf

        開始安裝sysv-rc-conf程式 ,執行命令: apt-get  install  sysv-rc-conf回車

       如圖:

 

4.3.5、執行授權和開機啟動命令

        執行授權命令: chmod  +x /etc/init.d/redis 回車

     執行修改開機啟動項的命令:  update-rc.d  redis  defaults 回車

  如圖:

 

             一切完成,重啟伺服器(可以使用reboot命令),在不手動執行啟動redis服務的情況下,直接啟動客戶端,看看是否能連上redis服務

  執行命令:   redis-cli   ping

      如圖: