卡饭网 > linux > 正文

Linux中如何设置Redis开机启动

来源:本站整理 作者:梦在深巷 时间:2017-04-03 07:12:15

  一、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

相关推荐