【Redis】Centos7.9 安装 Redis 5 教程

文章目录

  • [1. 使用 yum 安装](#1. 使用 yum 安装)
  • [2. 创建符号链接](#2. 创建符号链接)
    • [2.1 针对可执行程序设置符号链接](#2.1 针对可执行程序设置符号链接)
    • [2.2 针对配置文件设置符号链接](#2.2 针对配置文件设置符号链接)
  • [3. 修改配置文件](#3. 修改配置文件)
    • [3.1 设置 ip 地址](#3.1 设置 ip 地址)
    • [3.2 关闭保护模式](#3.2 关闭保护模式)
    • [3.3 启动守护进程](#3.3 启动守护进程)
    • [3.4 设置工作目录](#3.4 设置工作目录)
    • [3.5 设置日志目录](#3.5 设置日志目录)
    • [3.6 修改新建目录的团队权限(关键避坑)](#3.6 修改新建目录的团队权限(关键避坑))
  • [4. 启动 redis](#4. 启动 redis)
  • [5. 停止 redis](#5. 停止 redis)
  • [6. 查看工作目录和日志文件](#6. 查看工作目录和日志文件)

1. 使用 yum 安装

CentOS 7 已经在 2024 年 6 月 30 日官方停止维护(EOL,End of Life)了,所以更换为阿里云的源。

请在 /etc/yum.repos.d 目录下依次执行以下命令:

bash 复制代码
sudo tee /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo << 'EOF'
[centos-sclo-rh]
name=CentOS-7 - SCLo rh
baseurl=https://mirrors.aliyun.com/centos-vault/7.9.2009/sclo/x86_64/rh/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
EOF

清理并重新建立缓存

bash 复制代码
# 写入完成后,再次刷新 yum 缓存
sudo yum clean all
sudo yum makecache

缓存成功建立后,直接执行安装:

bash 复制代码
# 安装 redis
sudo yum install rh-redis5-redis -y

结果如下所示:

2. 创建符号链接

默认安装的目录为 /opt/rh/rh-redis5/root/usr/bin/,藏的太深了,不方便使用。

我们通过符号链接,把需要用到的关键内容设置到方便使用的目录中。

2.1 针对可执行程序设置符号链接

命令如下所示:

bash 复制代码
# 进入到bin目录
cd /usr/bin

# 链接 Redis 服务端
ln -s /opt/rh/rh-redis5/root/usr/bin/redis-server ./redis-server

# 链接 Redis 哨兵
ln -s /opt/rh/rh-redis5/root/usr/bin/redis-sentinel ./redis-sentinel

# 链接 Redis 客户端
ln -s /opt/rh/rh-redis5/root/usr/bin/redis-cli ./redis-cli

查看软链接是否创建成功

bash 复制代码
ls -l | grep redis

看到 -> 箭头指向源路径,就是成功了。

测试是否可用

bash 复制代码
./redis-cli --version

能显示 redis-cli 5.x.x 说明链接正常。

结果如下所示:

2.2 针对配置文件设置符号链接

命令如下所示:

bash 复制代码
# 进入系统配置目录
cd /etc/

# 创建软链接:把 rh-redis5 的配置目录,映射成 ./redis
ln -s /etc/opt/rh/rh-redis5/ ./redis

它是给 Redis 5 的配置目录创建软链接,和上一组命令配套使用,目的是统一 Redis 的路径,方便管理。

3. 修改配置文件

进入到 /etc/redis 目录,然后使用 vim 打开 redis.conf 配置文件。

bash 复制代码
# 注意,如果你是普通用户,必须添加sudo
sudo vim redis.conf

3.1 设置 ip 地址

bind 127.0.0.1 修改为 bind 0.0.0.0。这样就能够保证 redis 服务启动以后能被其他主机访问到。

3.2 关闭保护模式

protected-mode 修改为 no,同样,这里也是为了保证跨主机访问。

3.3 启动守护进程

daemonize 修改为 yes

因为 Linux 中的进程分为:前台进程和后台进程。前台进程会随着终端的关闭而随之被 kill 掉;后台进程不会随着终端关闭而关闭。

那么这样保证程序会以 "后台进程" 的方式运行,即守护进程。

3.4 设置工作目录

后续如果 redis 生成一些数据文件之类的东西,那么都会被存放到工作目录中。

先创建工作目录

bash 复制代码
sudo mkdir -p /var/lib/redis

再在 /etc/redis/redis.conf 配置文件中,设置刚刚创建好的工作目录

bash 复制代码
dir /var/lib/redis

结果如下所示:

3.5 设置日志目录

先创建日志目录

bash 复制代码
sudo mkdir -p /var/log/redis/

再在 /etc/redis/redis.conf 配置文件中,设置日志目录

bash 复制代码
logfile /var/log/redis/redis-server.log

结果如下所示:

3.6 修改新建目录的团队权限(关键避坑)

由于我们刚刚手动创建了 /var/lib/redis/var/log/redis/ 目录,这两个目录默认的所有者是 root。而通过 SCL 安装的 Redis 默认会以 redis 用户身份去运行和读写,这会导致 Redis 无法写入数据文件和日志。

因此,在启动 Redis 之前,必须将这两个目录的所有权变更为 redis 用户。

命令如下所示:

bash 复制代码
# 修改工作目录的所有者和所属组
sudo chown -R redis:redis /var/lib/redis

# 修改日志目录的所有者和所属组
sudo chown -R redis:redis /var/log/redis

查看权限是否修改成功:

bash 复制代码
ls -ld /var/lib/redis /var/log/redis

看到目录的所有者和组都变成 redis,即代表修改成功。

4. 启动 redis

命令如下所示:

bash 复制代码
sudo redis-server /etc/redis/redis.conf

查看 redis 是否成功启动:

bash 复制代码
sudo netstat -anp | grep redis

结果如下所示:

连接 redis 服务器

bash 复制代码
redis-cli 

结果如下所示:

5. 停止 redis

先查看到 redis-server 的 pid

bash 复制代码
ps aux | grep redis

然后通过 kill 命令直接杀死 redis 进程

bash 复制代码
sudo kill 进程id

结果如下所示:

补充:更优雅的停止方式是使用 redis-cli shutdown 命令,它会让 Redis 安全地保存数据并退出,避免数据丢失。

6. 查看工作目录和日志文件

命令如下:

bash 复制代码
# 进入到工作目录
cd /var/log/redis/

结果如下所示:

命令如下:

bash 复制代码
# 进入到日志目录
cd /var/log/redis/

# 查看日志
cat redis-server.log

结果如下所示:

相关推荐
广州灵眸科技有限公司6 小时前
xfce桌面触摸校准:基于灵眸科技EASY-EAl-Orin-Nano
数据库·windows·科技
憧憬成为web高手9 小时前
皮卡丘靶场速通--sql 2
数据库·sql·mybatis
段一凡-华北理工大学9 小时前
向量数据库实战:选型、调优与落地~系列文章12:文本分块策略实战:chunk_size 怎么选?重叠多少?
开发语言·数据库·后端·oracle·rust·工业智能体·高炉智能化
二宝哥10 小时前
CentOS 7.9 系统下 Redis 5.0.4 单机安装与源码编译安装指南
redis·centos
oradh11 小时前
Oracle XTTS实现跨版本迁移和升级(Oracle 11g单库升级至19C RAC集群)
数据库·oracle·11g升级19c·xtts跨版本迁移和升级
z1234567898612 小时前
2026最新两款AI编程工具深度对比实测
java·数据库·ai编程
程序猿DD12 小时前
一个 API Key,统一调用大模型、生图和联网搜索
数据库·网关
java_logo12 小时前
Docker Compose 部署 ClickHouse:快速搭建高性能列式数据库
数据库·clickhouse·docker·列式数据库·轩辕镜像·高性能数据库·clickhouse部署教程
TlSfoward13 小时前
抓包代理链路下的 TLS 指纹变化分析 TLSFOWARD抓包工具
数据库·爬虫·网络协议·搜索引擎·php
数智化管理手记13 小时前
账龄分析手工统计易遗漏?自动账龄分析工具怎么搭建
大数据·网络·数据库·人工智能·数据挖掘