历史版本1 :Redis单机开机自启动 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

虽然使用命令行可以对redis进行各种操作,比如启动等,但是还是不太方便,本文介绍在Linux下安装Redis后,如何设置其开机自启动。

目录:

一、CentOS6.x&RedHat6.x 配置 Redis 开机自启动编辑

1、创建 Redis 的管理脚本

首先,在系统的/etc/init.d/目录下创建 redis 文件:

vi /etc/init.d/redis

点击 i 键,在脚本中添加如下内容:

#!/bin/sh

# chkconfig: 2345 10 90 

# description: Start and Stop redis


REDISPORT=6379

EXEC=/usr/redis/redis-3.2.9/src/redis-server

CLIEXEC=/usr/redis/redis-3.2.9/src/redis-cli


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

CONF="/usr/redis/redis-3.2.9/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

    ;;

  restart)

    "$0" stop

    sleep 3

    "$0" start

    ;;

  *)

    echo "Please use start or stop or restart as first argument"

    ;;

esac

注意,对于自定义编译安装的 Redis(帮助文档中提供的即是此种方式),需要根据安装路径修改脚本中这几项配置:

EDISPORT=6379 ====>默认为 6379,若有调整请修改为实际的端口号

EXEC=/usr/redis/redis-3.2.9/src/redis-server ====>Redis 服务的启动路径

CLIEXEC=/usr/redis/redis-3.2.9/src/redis-cli ====>Redis 客户端的启动路径

CONF="/usr/redis/redis-3.2.9/redis.conf" ====>配置文件路径

保存脚本文件后设置文件的执行权限:

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

然后,就可以通过该脚本对 Redis 服务进行管理了:

/etc/init.d/redis start
/etc/init.d/redis stop

2、使用 chkconfig 设置开机自启动

上面的步骤完成了用脚本管理 Redis 服务的功能,接下来我们就可以使用 chkconfig 来设置 Redis 开机启动了。

先将 Redis 服务加入 chkconfig 管理列表:

chkconfig --add /etc/init.d/redis

配置完以后,就可以使用以下命令设置开机自启动等操作了:

chkconfig redis on     #设置开机自启动
chkconfig redis off    #停止开机自启动
service redis start    #启动redis服务
service redis stop     #停止redis服务
service redis restart  #重启redis服务

二、CentOS7.x&RedHat7.x 配置 redis 开机自启动编辑

1、创建 Redis 的管理脚本

首先,在系统的/lib/systemd/system/目录下创建 redis.service 文件:

vi /lib/systemd/system/redis.service

点击 i 键,在脚本中添加如下内容:

[Unit]

Description=The redis-server Process Manager

After=syslog.target network.target


[Service]Type=forking

PIDFile=/var/run/redis_6379.pid

ExecStart=/usr/redis/redis-3.2.9/src/redis-server /usr/redis/redis-3.2.9/redis.conf

ExecReload=/bin/kill -USR2 $MAINPID

ExecStop=/bin/kill -SIGINT $MAINPID 


[Install]

WantedBy=multi-user.target

注意,对于自定义编译安装的 Redis(帮助文档中提供的即是此种方式),需要根据实际路径修改脚本中的 Redis启动路径“/usr/redis/sbin/redis”。

保存脚本文件后设置文件的执行权限:

chmod a+x /lib/systemd/system/redis.service

2、使用 systemctl 设置开机自启动

配置完脚本以后,就可以使用以下命令设置开机自启动等操作了:

systemctl enable redis.service          #设置开机自启动
systemctl disable redis.service         #停止开机自启动
systemctl start redis.service          #启动 Redis 服务
systemctl stop redis.service           #停止服务
systemctl status redis.service          #查看服务当前状态
systemctl list-units --type=service     #查看所有已启动的服务