技術(shù)員聯(lián)盟提供win764位系統(tǒng)下載,win10,win7,xp,裝機(jī)純凈版,64位旗艦版,綠色軟件,免費軟件下載基地!

當(dāng)前位置:主頁 > 教程 > 服務(wù)器類 >

Linux中如何設(shè)置Redis開機(jī)啟動

來源:技術(shù)員聯(lián)盟┆發(fā)布時間:2017-11-01 12:10┆點擊:

  一、CentOS 7.0系統(tǒng)下的設(shè)置方法

  假設(shè)Redis已經(jīng)安裝,版本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

  否則會出現(xiàn) “redis服務(wù)不支持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=http://www.3lian.com/usr/local/bin/redis-server

  CLIEXEC=http://www.3lian.com/usr/local/bin/redis-cli

  PIDFILE=http://www.3lian.com/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

  注冊事件,開機(jī)啟動

  #chkconfig redis on

  啟動服務(wù)

  #service redis start

  查看服務(wù)是否啟動

  #lsof -i:6379

  二、Debian 8.0設(shè)置方法

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

  腳本文件描述也不一樣。

  假設(shè)Redis已經(jīng)安裝,版本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

  否則會出現(xiàn) “ 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=http://www.3lian.com/usr/local/bin/redis-server

  CLIEXEC=http://www.3lian.com/usr/local/bin/redis-cli

  PIDFILE=http://www.3lian.com/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

  注冊事件,開機(jī)啟動

  #update-rc.d redisd defaults

  啟動服務(wù)

  #service redis start

  查看服務(wù)是否啟動

  #lsof -i:6379

  開機(jī)啟動以后,默認(rèn)的配置文件位置:/etc/redis/6379.conf