反馈已提交

网络繁忙

当前为10.0版本文档,只有最新版本的文档支持在线编辑修改,如果想创建/编辑文档,请移步至 最新版帮助文档

Redis 开机自启动脚本

  • 文档创建者:Vic.zhang
  • 历史版本:5
  • 最近更新:张朵拉 于 2019-12-27
  • 虽然使用命令行可以对redis进行各种操作,比如启动等,但是还是不太方便,本文介绍在Linux下安装Redis后,如何设置其开机自启动。

    1. CentOS6.x&RedHat6.x 配置 Redis 开机自启动

    1.1 创建 Redis 的管理脚本

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

    vi /etc/init.d/redis

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

    #!/bin/sh
    # chkconfig: 2345 10 90 
    # description: Start and Stop redis
    REDISPORT=7379
    EXEC=/usr/redis/redis-5.0.4/src/redis-server
    CLIEXEC=/usr/redis/redis-5.0.4/src/redis-cli
    PIDFILE=/var/run/redis_${REDISPORT}.pid
    CONF="/usr/redis/redis-5.0.4/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=7379 ====>默认为7379,若有调整请修改为实际的端口号
    EXEC=/usr/redis/redis-5.0.4/src/redis-server ====>Redis 服务的启动路径
    CLIEXEC=/usr/redis/redis-5.0.4/src/redis-cli ====>Redis 客户端的启动路径
    CONF="/usr/redis/redis-5.0.4/redis.conf" ====>配置文件路径

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

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

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

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

    1.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服务

    2. CentOS7.x&RedHat7.x 配置 redis 开机自启动

    2.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_7379.pid
    ExecStart=/usr/redis/redis-5.0.4/src/redis-server /usr/redis/redis-5.0.4/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.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     #查看所有已启动的服务

    附件列表


    主题: 部署集成
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526