CentOS 6.8下如何安装Redis并配置开机自启动?

在CentOS 6.8这样的老旧系统上部署服务,虽然挑战重重,但通过正确的步骤依然可以稳定运行,Redis作为一款高性能的键值对数据库,因其轻量和高效而被广泛应用,本文将详细介绍如何在CentOS 6.8系统上,通过源码编译的方式安装和配置Redis,确保过程的严谨性和部署的稳定性。

CentOS 6.8下如何安装Redis并配置开机自启动?

环境准备与依赖安装

在开始编译安装之前,必须确保系统具备编译Redis源码所需的基础工具和环境,CentOS 6.8的官方yum源已经停止维护,但通常基础开发工具包仍然可用,我们需要安装gcc(C语言编译器)、make(构建工具)以及tcl(Redis测试套件依赖)。

打开终端,以root用户或具有sudo权限的用户执行以下命令:

yum groupinstall -y "Development Tools"
yum install -y tcl

第一条命令会安装一个包含gcc, make等在内的开发工具组,第二条命令则安装tcl,这一步是后续所有编译工作的基础,不可或缺。

下载与编译Redis源码

由于CentOS 6.8的yum源中可能没有Redis,或者版本非常陈旧,我们强烈推荐从Redis官方网站下载最新的稳定版源码进行编译,这里以Redis 4.0.14版本为例,这是一个相对成熟且对旧系统兼容性较好的版本。

  1. 下载源码包
    使用wget命令下载Redis源码压缩包。

    wget http://download.redis.io/releases/redis-4.0.14.tar.gz
  2. 解压并进入目录
    下载完成后,使用tar命令解压,并切换到解压后的目录。

    tar -xzf redis-4.0.14.tar.gz
    cd redis-4.0.14
  3. 编译与测试
    在源码目录中,执行make命令进行编译,编译过程会根据当前系统环境生成可执行文件。

    make

    编译过程如果没有报错,强烈建议运行测试套件来验证编译的正确性,这可以提前发现潜在问题。

    make test

    测试过程可能会持续几分钟,如果所有测试都通过,说明编译的Redis服务是健康可靠的。

  4. 安装到系统
    测试通过后,执行make install命令,此命令会将编译好的Redis可执行文件(如redis-server, redis-cli等)复制到/usr/local/bin目录下,这样系统就可以在任何路径下直接调用这些命令。

    make install

配置Redis服务

仅仅将可执行文件安装到系统还不够,我们需要将其配置为一个可以随系统启动、后台运行的服务,这包括创建配置文件、数据目录、日志目录,以及设置合适的权限。

  1. 创建相关目录
    为了更好地管理Redis,我们创建专门的目录来存放配置文件、数据和日志。

    mkdir -p /etc/redis
    mkdir -p /var/lib/redis
    mkdir -p /var/log/redis
  2. 复制并修改配置文件
    将源码目录中的默认配置文件模板复制到我们刚创建的配置目录中。

    CentOS 6.8下如何安装Redis并配置开机自启动?

    cp redis.conf /etc/redis/6379.conf

    使用vinano等编辑器打开/etc/redis/6379.conf文件,进行以下关键配置的修改:

    配置项 默认值 建议修改值 说明
    daemonize no yes 允许Redis在后台作为守护进程运行
    pidfile /var/run/redis_6379.pid /var/run/redis/redis.pid 指定PID文件存放位置
    port 6379 6379 Redis监听的端口,可根据需要修改
    bind 0.0.1 0.0.1 绑定的IP地址,出于安全考虑,建议仅绑定本地回环地址
    logfile /var/log/redis/redis-server.log 指定日志文件路径
    dir /var/lib/redis 指定Redis数据库快照(RDB文件)的存放目录
    protected-mode yes yes 启用保护模式,增强安全性

    请确保/var/run/redis/目录存在,或者在启动脚本中创建它。

创建系统用户及启动脚本

为了安全起见,Redis服务不应该以root用户身份运行,我们将创建一个专用的redis用户,并为其编写一个CentOS 6风格的init.d启动脚本。

  1. 创建redis用户

    useradd -s /sbin/nologin redis

    并赋予该用户对相关目录的权限:

    chown -R redis:redis /var/lib/redis
    chown -R redis:redis /var/log/redis
  2. 创建启动脚本
    /etc/init.d/目录下创建一个名为redis的文件。

    vi /etc/init.d/redis

    粘贴到文件中:

    #!/bin/sh
    #
    # Simple Redis init.d script conceived to work on Linux systems
    # as it does use of the /proc filesystem.
    # chkconfig: - 85 15
    # 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/redis.pid
    CONF="/etc/redis/6379.conf"
    case "$1" in
        start)
            if [ -f $PIDFILE ]
            then
                    echo "$PIDFILE exists, process is already running or crashed"
            else
                    echo "Starting Redis server..."
                    mkdir -p /var/run/redis
                    chown redis:redis /var/run/redis
                    su - redis -c "$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
            ;;
        *)
            echo "Please use start or stop as first argument"
            ;;
    esac
  3. 设置脚本权限并启用服务
    赋予脚本可执行权限,并将其添加到系统服务中。

    chmod +x /etc/init.d/redis
    chkconfig --add redis
    chkconfig redis on

启动与验证

所有配置工作完成后,现在可以启动Redis服务了。

service redis start

启动后,可以通过以下几种方式验证Redis是否成功运行:

  1. 检查进程

    ps aux | grep redis

    应该能看到以redis用户身份运行的redis-server进程。

  2. 检查端口

    CentOS 6.8下如何安装Redis并配置开机自启动?

    netstat -tlnp | grep 6379

    应该能看到Redis服务正在监听6379端口。

  3. 使用客户端连接测试
    使用redis-cli进行连接测试。

    redis-cli ping

    如果服务正常,客户端会返回PONG

至此,Redis已经成功在CentOS 6.8系统上以服务的形式安装并运行。


相关问答FAQs

问题1:为什么在CentOS 6.8上不推荐使用yum install redis

解答: 主要原因有两点,CentOS 6.8已经是一个非常古老的操作系统,其官方的yum源早已停止维护(End-of-Life),这意味着你很可能无法连接到默认的仓库,或者仓库中的软件包版本极其陈旧,存在安全漏洞和功能缺失,即使通过第三方EPEL源能找到Redis包,其版本也可能不是你需要的,且无法灵活定制编译选项,通过源码编译安装不仅能获得最新稳定版的Redis,还能根据服务器环境进行针对性优化,是更可靠、更专业的选择。

问题2:如何为刚安装的Redis设置访问密码?

解答: 为Redis设置密码是保障其安全性的重要一步,你需要修改Redis的配置文件,打开/etc/redis/6379.conf文件,找到# requirepass foobared这一行(通常是被注释掉的),去掉开头的,并将foobared替换为你想要设置的强密码,

requirepass your_strong_password_here

修改完成后,保存文件并重启Redis服务使配置生效:

service redis restart

之后,当使用redis-cli连接时,就需要使用-a参数提供密码才能执行命令,否则会提示没有权限。

redis-cli -a your_strong_password_here ping

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-09 12:25
下一篇 2025-10-09 12:26

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

QQ-14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信