Centos下配置Redis开机启动脚本

yizhihongxing

下面是 CentOS 下配置 Redis 开机启动脚本的完整攻略。

步骤1:下载并安装 Redis

首先需要下载并安装 Redis,可以到 Redis 官网(https://redis.io/download)下载对应版本的 Redis,解压到指定目录,然后使用 make 命令进行编译和安装即可,具体步骤如下:

# 下载 Redis 5.0.8
wget http://download.redis.io/releases/redis-5.0.8.tar.gz

# 解压
tar -zxvf redis-5.0.8.tar.gz

# 进入解压后的目录
cd redis-5.0.8

# 编译并安装
make && make install

步骤2:创建 Redis 配置文件

接下来需要创建 Redis 的配置文件,可以在 Redis 源码包中找到一个默认的配置文件 redis.conf,可以将其复制到/etc目录下,并进行一些必要的修改,比如修改服务端口号等。具体步骤如下:

# 进入 Redis 目录
cd redis-5.0.8

# 复制配置文件到 /etc 目录下
cp redis.conf /etc/redis.conf

# 修改配置文件,比如修改服务端口号为 6379
vim /etc/redis.conf

# 将以下内容更改为:
# bind 127.0.0.1
# protected-mode yes
# port 6379

步骤3:创建 Redis 启动脚本

Redis 的启动脚本可以自己手动编写,也可以使用系统提供的 init.d 脚本。这里我们使用系统提供的脚本,具体步骤如下:

在 CentOS 中,需要使用 chkconfig 命令开启并管理系统服务,所以需要创建对应的启动脚本 /etc/init.d/redis,将以下代码复制到文件中:

#!/bin/sh
#
# redis - this script starts and stops the redis-server daemon
#
# chkconfig:   - 85 15
# description:  Redis is a persistent key-value database
# processname: redis-server
# config:      /etc/redis.conf
# pidfile:     /var/run/redis.pid

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ $NETWORKING = "no" ] && exit 0

redis="/usr/local/bin/redis-server"
prog=$(basename $redis)

REDIS_CONF_FILE="/etc/redis.conf"

[ -f /etc/sysconfig/redis ] && . /etc/sysconfig/redis

lockfile=/var/lock/subsys/redis

start() {
    [ -x $redis ] || exit 5
    [ -f $REDIS_CONF_FILE ] || exit 6
    echo -n $"Starting $prog: "
    daemon $redis $REDIS_CONF_FILE --daemonize yes
    retval=$?
    echo
    [ $retval -eq 0 ] && touch $lockfile
    return $retval
}

stop() {
    echo -n $"Stopping $prog: "
    killproc $prog -QUIT
    retval=$?
    echo
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
}

restart() {
    stop
    start
}

reload() {
    echo -n $"Reloading $prog: "
    killproc $redis -HUP
    RETVAL=$?
    echo
}

force_reload() {
    restart
}

rh_status() {
    status $prog
}

rh_status_q() {
    rh_status >/dev/null 2>&1
}

case "$1" in
    start)
        rh_status_q && exit 0
        $1
        ;;
    stop)
        rh_status_q || exit 0
        $1
        ;;
    restart)
        $1
        ;;
    reload)
        $1
        ;;
    force-reload)
        force_reload
        ;;
    status)
        rh_status
        ;;
    condrestart|try-restart)
        rh_status_q || exit 0
        ;;
    *)
        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
        exit 2
esac

在执行这个脚本前,需要确保文件有可执行权限。

# 给启动脚本设置可执行权限
chmod +x /etc/init.d/redis

步骤4:添加 Redis 启动设置

启动服务脚本已经准备好了,接下来需要添加到系统启动设置中,并设置启动级别,使 Redis 在系统启动时自动启动,命令如下:

# 添加自定义服务
chkconfig --add redis

# 设定服务启动级别,在3,5级别启动并运行
chkconfig --level 35 redis on

示例1:启动 Redis 并在系统启动时自动启动

执行以下命令启动 Redis 并在系统启动时自动启动:

# 启动 Redis 服务
service redis start

# 查看 Redis 服务状态
service redis status

示例2:停止 Redis 并禁用开机启动

如果想停止 Redis 并禁用开机启动,可以执行以下命令:

# 停止 Redis 服务
service redis stop

# 在系统启动时禁用 Redis 服务
chkconfig --del redis

以上是 CentOS 下配置 Redis 开机启动脚本的完整攻略和两条示例说明。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Centos下配置Redis开机启动脚本 - Python技术站

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

相关文章

  • Spring Transaction事务实现流程源码解析

    下面我将为你详细讲解“Spring Transaction事务实现流程源码解析”的完整攻略。 Spring事务实现流程 1. 事务传播机制 Spring框架提供了丰富的事务传播机制,用于控制不同事务之间的相互影响。例如,当一个方法A调用另一个方法B时,方法B会自动加入到方法A的事务中,这就是事务的传播机制。 在Spring中,一共有七种事务传播机制,分别为:…

    database 2023年5月21日
    00
  • Redis事务为什么不支持回滚

    Redis 是一种使用内存作为数据存储载体的 NoSQL 数据库,支持单线程、多路复用以及事务等特性,但与传统关系型数据库相比,Redis 的事务不支持回滚操作。 为了更好地理解 Redis 事务为什么不支持回滚,我们需要先了解 Redis 事务的特性和实现方式。 Redis 事务的特性 Redis 事务的特性包括: Redis 事务是一组命令的集合,这些命…

    database 2023年5月18日
    00
  • GO实现Redis:GO实现TCP服务器(1)

    本文实现一个Echo TCP Server interface/tcp/Handler.go type Handler interface { Handle(ctx context.Context, conn net.Conn) Close() error } Handler:业务逻辑的处理接口 Handle(ctx context.Context, con…

    2023年4月10日
    00
  • deepin20.1系统安装MySQL8.0.23(超详细的MySQL8安装教程)

    下面我将为你详细讲解“deepin20.1系统安装MySQL8.0.23(超详细的MySQL8安装教程)”的完整攻略,并附带两个示例说明。 安装MySQL8.0.23的步骤 步骤1:下载MySQL8.0.23 首先,我们需要下载MySQL8.0.23的安装包。你可以在官网等渠道下载到相应的安装包。 步骤2:安装MySQL8.0.23 打开终端,执行以下命令,…

    database 2023年5月22日
    00
  • JVM完全解读之Metaspace解密源码分析

    JVM完全解读之Metaspace解密源码分析 1. 前言 在Java程序的运行过程中,JVM需要对一系列的字节码文件进行加载、解析、验证和执行。为了支持这些过程,JVM会将字节码文件按照特定的规则组织在内存中,这些组织的规则由Java虚拟机规范所定义。其中,JVM内存中存储字节码文件的区域被称为Metaspace。 本篇文章将对JVM Metaspace进…

    database 2023年5月21日
    00
  • MySql视图触发器存储过程详解

    MySQL视图 MySQL视图是MySQL数据库中的一种虚拟表。在使用视图时,我们可以通过查询视图来获取视图对应表中需要的数据而不用对实际表进行查询。视图可以看作是一条预编译SQL语句,它不存储任何数据,只是一个查询结果的容器。下面是创建MySQL视图的示例: CREATE VIEW sales_department_employee AS SELECT e…

    database 2023年5月21日
    00
  • DBMS中的检查点

    检查点(Checkpoint)是DBMS中很重要的概念,它用于确保在发生宕机等异常情况后能够进行恢复操作。下面是关于DBMS中检查点的详细讲解,包括定义、作用、发生时机等内容,并使用一个实例进行说明。 检查点定义 检查点是DBMS中的一个进程,专门负责将内存中的数据存储到磁盘中。具体来说,它会把数据库中被修改过的数据写入到磁盘中,并记录最后一个成功写入磁盘的…

    database 2023年3月27日
    00
  • MySQL SQL预处理(Prepared)的语法实例与注意事项

    MySQL SQL预处理是一种有效的防止SQL注入攻击的解决方案,同时也可以提高数据库操作的效率。MySQL支持使用“Prepared statement”预处理语句的方式进行SQL查询和操作,下面是“MySQL SQL预处理(Prepared)的语法实例与注意事项”的完整攻略。 1. 什么是MySQL SQL预处理(Prepared)语句 MySQL SQ…

    database 2023年5月21日
    00
合作推广
合作推广
分享本页
返回顶部