萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> Linux中如何設置Redis開機啟動

Linux中如何設置Redis開機啟動

   一、CentOS 7.0系統下的設置方法

  假設Redis已經安裝,版本3.2.4

  #cd redis-3.2.4

  #mkdir /etc/redis

  #cp redis.conf /etc/redis/6379.conf

  #cp utils/redis_init_script /etc/init.d/redis

  #chmod a+x /etc/init.d/redis

  #cp src/redis-server /usr/local/bin/

  #cp src/redis-cli /usr/local/bin/

  #vim /etc/init.d/redis

  在腳本文件添加 #chkconfig: 2345 80 90

  否則會出現 “redis服務不支持chkconfig”的錯誤提示

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

  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

  注冊事件,開機啟動

  #chkconfig redis on

  啟動服務

  #service redis start

  查看服務是否啟動

  #lsof -i:6379

  二、Debian 8.0設置方法

  步驟與上面類似,不過Debian 用update-rc.d (或insserv)代替chkconfig

  腳本文件描述也不一樣。

  假設Redis已經安裝,版本3.2.4

  #cd redis-3.2.4

  #mkdir /etc/redis

  #cp redis.conf /etc/redis/6379.conf

  #cp utils/redis_init_script /etc/init.d/redis

  #chmod a+x /etc/init.d/redis

  #cp src/redis-server /usr/local/bin/

  #cp src/redis-cli /usr/local/bin/

  #vim /etc/init.d/redis

  在腳本文件添加

  ### BEGIN INIT INFO

  # Provides: redis6379

  # Required-Start: $local_fs $network

  # Required-Stop: $local_fs

  # Default-Start: 2 3 4 5

  # Default-Stop: 0 1 6

  # Short-Description: redis6379

  # Description: penavico redis 6379

  ### END INIT INFO

  否則會出現 “ insserv: warning: script ‘redis6379′ missing LSB tags and overrides”的錯誤提示

  #!/bin/sh

  #

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

  # as it does use of the /proc filesystem.

  ### BEGIN INIT INFO

  # Provides: redis6379

  # Required-Start: $local_fs $network

  # Required-Stop: $local_fs

  # Default-Start: 2 3 4 5

  # Default-Stop: 0 1 6

  # Short-Description: redis6379

  # Description: penavico redis 6379

  ### END INIT INFO

  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

  注冊事件,開機啟動

  #update-rc.d redisd defaults

  啟動服務

  #service redis start

  查看服務是否啟動

  #lsof -i:6379

  開機啟動以後,默認的配置文件位置:/etc/redis/6379.conf

copyright © 萬盛學電腦網 all rights reserved