Linux中设置Redis开机启动的方法

下面我将为您详细讲解“Linux中设置Redis开机启动的方法”的完整攻略,以下是具体步骤:

1. 编写Redis启动脚本

/etc/init.d/目录下新建一个名为redis的文件,这个文件就是我们的启动脚本,使用以下命令:

sudo vim /etc/init.d/redis

然后把以下代码粘贴进去:

#!/bin/sh
# chkconfig: 2345 95 05
# description: Redis is a persistent key-value database

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 Redis server..."
                $CLIEXEC -p $REDISPORT shutdown
                while [ -x /proc/${PID} ]
                do
                    echo "Waiting for Redis to shutdown ..."
                    sleep 1
                done
                echo "Redis stopped"
        fi
        ;;
restart|force-reload)
        ${0} stop
        ${0} start
        ;;
*)
        echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
        exit 1
esac

exit 0

在这段代码中,我们定义了启动Redis所需的一些变量以及需要执行的指令,可以根据自己的实际情况调整相关的参数和路径。

2. 赋予脚本权限

在安装好Redis之后,需要把这个启动脚本设置为可执行文件,并赋予它相应的权限。使用以下命令:

sudo chmod 755 /etc/init.d/redis

3. 使Redis自动启动

使用以下命令将Redis设置为自动启动:

sudo chkconfig --add redis

这个命令会自动将Redis添加到启动项中,达到自动启动的目的。当需要关闭自启动时,使用以下命令:

sudo chkconfig --del redis

4. 演示

以下是两个实例说明:

示例1:CentOS 7

假设我们的Redis安装位置是 /usr/local/bin/redis-server,配置文件位置是 /etc/redis/redis.conf。我们可以使用以下命令来演示如何使Redis自动启动:

sudo vim /etc/init.d/redis

将以下代码复制进去:

#!/bin/bash

REDISPORT=6379
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/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 Redis server..."
                $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
        ${0} start
        ;;
    *)
        echo "Usage: $0 {start|stop|restart}" >&2
        exit 1
esac

exit 0

接下来,使脚本可执行并且加入启动项:

sudo chmod 755 /etc/init.d/redis
sudo chkconfig --add redis
sudo chkconfig redis on

现在,重启系统,你会发现Redis已经自动启动了。

示例2:Ubuntu 16.04

假设我们的Redis安装位置是 /usr/bin/redis-server,配置文件位置是 /etc/redis/redis.conf。我们可以使用以下命令来演示如何使Redis自动启动:

首先,在/etc/init.d/目录下新建一个名为redis的文件:

sudo vim /etc/init.d/redis

将以下代码复制进去:

#! /bin/sh
### BEGIN INIT INFO
# Provides:             redis-server
# 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/bin/redis-server
DAEMON_ARGS=/etc/redis/redis.conf
NAME=redis-server
DESC=redis-server

RUNDIR=/var/run/redis
PIDFILE=$RUNDIR/redis.pid

test -x $DAEMON || exit 0

set -e

case "$1" in
  start)
    echo -n "Starting $DESC: "

    mkdir -p $RUNDIR
    touch $PIDFILE
    chown redis:redis $RUNDIR $PIDFILE
    chmod 755 $RUNDIR

    if [ -f $PIDFILE ]
    then
        echo "already running."
        exit 1
    fi

    # Protect against redis.conf changing in meantime
    mkdir -p /var/lock/subsys
    touch /var/lock/subsys/$NAME

    $DAEMON $DAEMON_ARGS --pidfile $PIDFILE &

    echo "started."
    ;;
  stop)
    echo -n "Stopping $DESC: "

    if [ ! -f $PIDFILE ]
    then
        echo "not running."
        exit 0
    fi

    rm -f /var/lock/subsys/$NAME

    $DAEMON $DAEMON_ARGS --pidfile $PIDFILE --stop

    echo "stopped."
    ;;
  restart|force-reload)
    ${0} stop
    sleep 1
    ${0} start
    ;;
  *)
    echo "Usage: /etc/init.d/$NAME {start|stop|restart|force-reload}" >&2
    exit 1
    ;;
esac

exit 0

接下来,使脚本可执行并且加入启动项:

sudo chmod 755 /etc/init.d/redis
sudo update-rc.d redis defaults

现在,重启系统,你会发现Redis已经自动启动了。

以上就是在Linux上设置Redis开机启动的全部攻略,希望可以帮到您。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Linux中设置Redis开机启动的方法 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • 完美介绍linux环境变量与部分命令

    完美介绍Linux环境变量与部分命令 环境变量 什么是环境变量 环境变量是用于存储关于操作系统或进程的信息的动态值。它们通常是在启动进程或登录会话时设置的,可用于控制程序的行为或通知程序找到需要的资源。 常见环境变量 PATH:它指定了系统执行命令时需要搜索的路径列表,系统在执行命令时会在这些路径下查找命令。 HOME:当前用户的主目录路径。 LANG:当前…

    database 2023年5月22日
    00
  • jboss配置方法简明教程

    以下是“jboss配置方法简明教程”的完整攻略: 准备工作 在开始配置jboss之前,需要进行以下准备工作: 下载并安装jdk; 下载并解压jboss。 配置jboss 打开jboss解压文件夹,找到conf文件夹下的standalone.xml文件; 将文件中的以下配置项进行修改(以端口号为例,具体配置项根据实际情况调整): <socket-bind…

    database 2023年5月21日
    00
  • linux下安装mysql及mysql.sock问题

    Linux下安装MySQL的完整攻略 步骤1: 下载MySQL 首先,从MySQL官网下载适合自己的MySQL版本,如5.7或8.0等。也可以使用包管理器(如yum)安装官方提供的MySQL版本。 步骤2: 安装MySQL 在安装MySQL之前,需要先安装系统的依赖库。在CentOS中,可以使用以下命令安装: sudo yum install -y wget…

    database 2023年5月22日
    00
  • MySQL中的启动和关闭命令

    启动和关闭MySQL服务是日常MySQL维护工作中必不可少的操作。下面我将详细讲解MySQL中的启动和关闭命令。 启动MySQL 启动MySQL之前,需要打开命令行工具或者终端。在Windows上,可以通过点击开始菜单,搜索CMD并打开命令行工具。在Linux和macOS系统上,可以通过快捷键Ctrl+Alt+T或者在终端栏中输入Terminal来打开终端。…

    database 2023年5月21日
    00
  • 超强、超详细Redis数据库入门教程

    下面是详细的”超强、超详细Redis数据库入门教程”攻略: Redis数据库入门教程 一、Redis 是什么? Redis 是一个开源的内存数据结构存储系统,它可以用作数据库、缓存和消息中间件。Redis支持多种数据结构,如字符串(string),哈希(hash),列表(list),集合(set),有序集合(sorted set)与范围查询,支持多种语言的客…

    database 2023年5月22日
    00
  • Linux(Centos7)下redis5集群搭建和使用说明详解

    Linux(Centos7)下redis5集群搭建和使用说明详解 准备工作 安装必要的软件 在 Centos7 上安装必要的软件包: sudo yum install epel-release sudo yum update -y sudo yum install -y git gcc rubygems 安装 Ruby、RubyGems 和 Redis 的 …

    database 2023年5月22日
    00
  • Oracle定义联合数组及使用技巧

    Oracle联合数组(Associative Array)定义及使用技巧 什么是Oracle联合数组? Oracle联合数组是一种复合数据类型,也称为关联数组或索引数组。它是由一组键/值对组成的数据结构,用于存储和访问多个值。 与标准数组不同,Oracle联合数组的键可以是任何数据类型,包括字符串、数字和日期等。它不需要预定义数组的大小,可以在运行时动态添加…

    database 2023年5月21日
    00
  • windows下通过批处理脚本启动redis

    三种启动方式的特点: 第一种方式 :根目录之命令窗口启动 特点:每次启动都要进入到redis的根目录,比较繁琐,并且占用一个窗口 第二种方式:bat脚本便捷启动 特点:可放在桌面便捷启动,占用窗口 第三种方式:无窗口启动 特点:可放在桌面便捷启动,不占用窗口,但是是否启动成功需要打开任务管理器确认 第一种方式 :根目录之命令窗口启动 windows下redi…

    Redis 2023年4月13日
    00
合作推广
合作推广
分享本页
返回顶部