redis linux版本自定義安裝目錄、注冊服務、自啟動設置、一台計算機安裝多個redis


自定義安裝目錄並安裝

1、mkdir /usr/local/redis

2、下載redis到 /usr/local/src/,解壓,進入解壓后的目錄

3、安裝到指定目錄

  make PREFIX=/usr/local/redis install

  注意:PREFIX必須大寫;如寫換成小寫,不報錯,還正常執行,但不會安裝到我們的指定目錄,而是會安裝到/usr/local/src/redis-4.0.10/src目錄下

4、測試

  cd /usr/local/redis  


注冊 redis 服務

1、復制啟動腳本到 /etc/rc.d/init.d 目錄

 rpm安裝方式會把服務默認安裝到 /etc/rc.d/init.d 目錄下,並且不需要我們手動干擾。當服務安裝到這個目錄下后,我們就可以使用形如 service network start 的方式啟動、關閉、重啟服務了。

 我們這里使用的是源碼包的安裝方式,所以需要我們手動把 redis 的啟動腳本復制到 /etc/rc.d/init.d 目錄下。

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

上面的命令還執行了更名操作,把redis_init_script重命名為了redis,這個名字可以隨便取,比如redis1、redis2等。以 service network start 命令為例,service 會去/etc/init.d下尋找文件名為 network 的腳本,start是network 腳本的一個參數。如果我們取名為redis1,那么以后啟動 redis 服務就要執行 service redis1 start。

2、修改初始化腳本

#!/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.

### BEGIN INIT INFO
# Provides:     redis_6379
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    Redis data structure server
# Description:          Redis data structure server. See https://redis.io
### END INIT INFO

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)在腳本的第二行添加 # chkconfig: 2345 80 90

    注意:這行雖然以符號#開頭,但並不是不起作用的注釋代碼

    2345 代表的是linux系統的啟動級別,也就是說在2345 這四個linux啟動級別的時候會自動啟動 redis 服務。

    80 90 分別代表在系統啟動服務和關閉服務的優先級,數字越小,優先級越高,越先啟動或關閉。

  2)修改 EXEC 和 CLIEXEC 的值

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

  3)還可以把 redis 啟動方式修改為后台方式,不修改也可以

  $EXEC $CONF &

  這個 & 就代表后台守護線程方式啟動

3、將redis配置文件拷貝到/etc/redis/端口ID.conf

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

  文件名改為 6379.conf 是由 /etc/rc.d/init.d/redis 里的CONF="/etc/redis/${REDISPORT}.conf"決定的

4、增加執行權限

  chmod +x /etc/init.d/redis

這個時候我們已經可以使用 service redis stop/start 這些命令了


開機自啟動設置

1、設置開機自啟

  chkconfig --add redis

2、查看開機自啟動項

  chkconfig --list

8、重啟

  reboot

9、ps -ef | grep 6379


一台計算機安裝多個redis

不需要編譯多次,也不需要把編譯好的文件夾復制多份

1、只需要復制 /etc/rc.d/init.d/ 目錄下的 redis 文件為redis1、redis2

2、修改redis1、redis2里面的端口號

3、復制/etc/redis/ 目錄下的 6379.conf 為6380.conf、6381.conf

4、修改6380.conf、6381.conf里的端口號


免責聲明!

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



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