请稍候...
确定
取消
  • Debianlogo

    Debian

    Debian是一个自由,网络社区活跃,以安全著称深受各国政府部门喜爱的Linux操作系统
  • Debian8设置添加Redis为系统服务

      时间:2016-07-21 21:41:59

      阅读:987 回复:0 A- A+

      我们一般编译安装好Redis后,需要将Redis添加到系统服务,service命令进行如启动start,restart重启,sotp停止等操作,并可以使用并设置为随系统服务一起初始化(开机启动).

      首先我们先设置redis后台运行,打开配置文件:

      vim /usr/local/redis-3.2.1/redis.conf
      找到daemonize选项设置为yes:

      daemonize yes
      然后保存.

      然后我们创建一个init脚本,以Joe这里为例,创建一个名为redis的文件:

      cd /etc/init.d/ && touch redis
      添加如下内容:

      #!/bin/sh
      #Redis Init Service
      #警告!下面INIT LSB描述信息不可删除
      ### BEGIN INIT INFO
      # Provides:		redis
      # Required-Start:	$syslog $remote_fs
      # Required-Stop:	$syslog $remote_fs
      # Should-Start:		$local_fs
      # Should-Stop:		$local_fs
      # Default-Start:	2 3 4 5
      # Default-Stop:		0 1 6
      # Short-Description:	redis-server - Persistent key-value db
      # Description:		redis-server - Persistent key-value db
      ### END INIT INFO
      
      PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
      DAEMON=/usr/local/bin/redis-server
      DAEMON_ARGS=/usr/local/bin/redis.conf
      NAME=redis
      DESC=redis
      PIDFILE=/var/run/redis.pid
      
      test -x $DAEMON || exit 0
      test -x $DAEMONBOOTSTRAP || exit 0
      
      set -e
      
      case "$1" in
        start)
      	echo -n "Starting $DESC: "
      	touch $PIDFILE
      	chown redis:redis $PIDFILE
      	if start-stop-daemon --start --quiet --umask 007 --pidfile $PIDFILE --chuid redis:redis --exec $DAEMON -- $DAEMON_ARGS
      	then
      		echo "$NAME."
      	else
      		echo "failed"
      	fi
      	;;
        stop)
      	echo -n "Stopping $DESC: "
      	if start-stop-daemon --stop --retry 10 --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON
      	then
      		echo "$NAME."
      	else
      		echo "failed"
      	fi
      	rm -f $PIDFILE
      	;;
      
        restart|force-reload)
      	${0} stop
      	${0} start
      	;;
        *)
      	echo "Usage: /etc/init.d/$NAME {start|stop|restart|force-reload}" >&2
      	exit 1
      	;;
      esac
      
      exit 0
      
      #the end
      
      这里需要注意的是:

      DAEMON和DAEMON_ARGS一定要修改为你实际安装路径,不要写错了.此外INIT LSB描述信息必备不可删除

      删除LSB描述,添加服务将会抛出一个这样的warning,这有可能会引起一些问题:

      update-rc.d: warning: /etc/init.d/test missing LSB information
      接着我们新建一个redis专用的用户:
      sudo useradd redis
      接着为redis设置一个单独的data和log目录
      sudo mkdir -p /usr/share/redisData
      sudo mkdir -p /var/log/redis
      sudo chown redis.redis /usr/share/redisData
      sudo chown redis.redis /var/log/redis
      #顺便要记得修改redis.config里面的data和log路径为上面一致

      然后我们将Redis注册到系统服务和开机启动:

      sudo update-rc.d redis defaults
      #若要卸载移除执行下面命令
      #sudo update-rc.d -f redis remove

      现在你可以以service命令启动它试试配置是否成功:
      service redis start
      如果出现Starting redis: failed错误,请检查log查看原因,如果启动正常,恭喜你配置成功.
      网友观点 文明社会,理性发言,和谐讨论

        暂无网友互动记录!

    发表我的看法(70字以内)