天天看點

linux設定redis開機啟動

linux設定開機啟動兩個步驟:

  1. 設定redis.conf中daemonize為yes,確定守護程序開啟。
  2. 編寫開機自啟動腳本

基本原理為:

系統開機啟動時會去加載/etc/init.d/下面的腳本,通常而言每個腳本檔案會自定義實作程式的啟動;若想将新的程式開機自啟動,隻需在該目錄下添加一個自定義啟動程式的腳本,然後設定相應規則即可。

如在這裡我們在/etc/init.d/下建立一個 redis 的腳本,開機啟動時會去加載執行該腳本。

vim /etc/init.d/redis
           

腳本内容如下:

#!/bin/sh

# chkconfig:   2345 90 10

# description:  Redis is a persistent key-value database

# Simple Redis init.d script conceived to work on Linux systems  

# as it does use of the /proc filesystem.  

REDISPORT=6379

REDISROOT=/usr/local/redis/redis-5.0.5/

REDISPATH=/usr/local/redis/redis-5.0.5/src/

EXEC=${REDISPATH}/redis-server

CLIEXEC=${REDISPATH}/redis-cli

PIDFILE=/var/run/redis_${REDISPORT}.pid

CONF="${REDISROOT}/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

寫完後儲存退出

設定可執行權限:

chmod 777 /etc/init.d/redis
           

啟動redis:

/etc/init.d/redis start
           

執行結束之後用redis-cli 或者 ps aux|grep redis 檢視redis是否成功啟動.

設定開機啟動:

chkconfig redis on
           

關機重新開機測試:

reboot
           

重新開機之後再次驗證改動是否生效!

繼續閱讀