CentOS系统中Redis数据库的安装配置指南
Redis是一款开源的内存数据结构存储系统,常被用作数据库、缓存和消息中间件,凭借高性能、丰富的数据类型和持久化能力,被广泛应用于各类互联网项目中。本文将详细介绍在CentOS系统上安装、配置Redis的完整流程,帮助开发者快速搭建可用的Redis服务。
一、环境准备
本文操作基于CentOS 7/8系统,执行以下步骤前请先确认系统已具备以下基础条件:
拥有root权限或可使用sudo执行命令的普通用户
系统已配置yum/dnf包管理工具,且可正常访问软件源
已安装gcc等编译工具(源码安装时需要)
若缺少编译工具,可先执行以下命令安装:
# CentOS 7 yum install -y gcc make # CentOS 8 dnf install -y gcc make
二、Redis安装方式
CentOS系统中安装Redis主要有两种方式:通过系统包管理器直接安装、通过源码编译安装。下面将分别介绍两种方式的操作步骤。
2.1 通过yum/dnf包管理器安装
这种方式操作简单,适合快速部署需求,缺点是软件版本可能较旧。执行以下命令即可完成安装:
# CentOS 7 yum install -y redis # CentOS 8 dnf install -y redis
安装完成后,可通过以下命令验证是否安装成功:
redis-server --version
若输出类似Redis server v=5.0.3 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=abcdef1234567890的版本信息,说明安装成功。
2.2 通过源码编译安装
源码安装可获取最新版本的Redis,适合对版本有要求的场景。步骤如下:
第一步,下载Redis最新稳定版源码包,可访问https://www.ipipp.com查看最新版本号,本文以Redis 7.2.4为例:
# 下载源码包 wget https://download.redis.io/releases/redis-7.2.4.tar.gz # 解压源码包 tar -zxvf redis-7.2.4.tar.gz # 进入解压后的目录 cd redis-7.2.4
第二步,编译并安装Redis:
# 编译 make # 安装到系统目录,默认安装路径为/usr/local/bin make install
第三步,验证安装结果:
redis-server --version
三、Redis基础配置
Redis的默认配置文件在安装目录下(源码安装时配置文件在解压目录的redis.conf,yum安装时配置文件通常在/etc/redis.conf)。我们可以先复制一份配置文件到自定义目录,再修改配置:
# 源码安装时复制配置文件到/etc目录 cp redis-7.2.4/redis.conf /etc/redis/redis.conf # yum安装时可直接修改原有配置文件 vim /etc/redis.conf
以下是常用的核心配置项说明及修改建议:
| 配置项 | 默认值 | 说明 | 建议值 |
|---|---|---|---|
| bind | 127.0.0.1 | 绑定Redis监听的IP地址,默认仅本地可访问 | 若需要远程访问,可改为0.0.0.0(生产环境建议结合防火墙限制访问IP) |
| port | 6379 | Redis服务监听的端口号 | 保持默认即可,也可根据需求修改 |
| daemonize | no | 是否以守护进程方式运行 | 改为yes,让Redis在后台运行 |
| requirepass | 无 | 设置Redis访问密码 | 建议设置复杂密码,例如requirepass YourStrongPassword123 |
| dir | ./ | Redis持久化文件存放目录 | 改为固定目录,例如dir /var/lib/redis |
| logfile | 空(输出到标准输出) | Redis日志文件路径 | 设置为固定路径,例如logfile /var/log/redis/redis.log |
修改完成后,需要创建配置中指定的目录并赋予权限:
mkdir -p /var/lib/redis /var/log/redis chown -R redis:redis /var/lib/redis /var/log/redis
四、Redis服务管理
4.1 手动启动/停止服务
若未配置系统服务,可通过以下命令手动管理Redis:
# 启动Redis,指定配置文件路径 redis-server /etc/redis/redis.conf # 停止Redis,若有密码需要先认证 redis-cli -a YourStrongPassword123 shutdown
4.2 配置系统服务(推荐)
将Redis注册为系统服务,可使用systemctl命令统一管理,更适合生产环境。首先创建服务配置文件:
vim /etc/systemd/system/redis.service
在文件中添加以下内容:
[Unit] Description=Redis In-Memory Data Store After=network.target [Service] User=redis Group=redis ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf ExecStop=/usr/local/bin/redis-cli -a YourStrongPassword123 shutdown Restart=always [Install] WantedBy=multi-user.target
注意:若通过yum安装,ExecStart和ExecStop的路径需要改为对应的可执行文件路径,可通过which redis-server和which redis-cli命令查询。
配置完成后,重新加载systemd配置并启动服务:
# 重新加载systemd配置 systemctl daemon-reload # 启动Redis服务 systemctl start redis # 设置开机自启动 systemctl enable redis # 查看服务状态 systemctl status redis
五、Redis连接测试
服务启动后,可通过redis-cli客户端连接Redis进行功能测试:
# 本地连接,若设置了密码需要加-a参数 redis-cli -a YourStrongPassword123 # 远程连接,指定IP和端口 redis-cli -h 192.168.1.100 -p 6379 -a YourStrongPassword123
连接成功后,可执行以下简单命令测试:
# 设置键值对 set test_key "hello redis" # 获取键值对 get test_key # 查看所有键 keys *
若输出"hello redis",说明Redis服务运行正常。
六、防火墙配置(可选)
如果需要远程访问Redis,需要开放对应的端口,CentOS系统可通过firewalld配置防火墙规则:
# 开放6379端口 firewall-cmd --zone=public --add-port=6379/tcp --permanent # 重新加载防火墙规则 firewall-cmd --reload # 查看端口是否开放成功 firewall-cmd --zone=public --list-ports
生产环境中不建议直接开放Redis端口到公网,更安全的做法是通过内网访问,或结合VPN、安全组等策略限制访问来源。
七、常见问题排查
启动失败:查看日志文件
/var/log/redis/redis.log,确认是否是配置文件错误、端口被占用或权限不足导致。远程连接失败:确认bind配置是否为0.0.0.0,防火墙是否开放端口,密码是否正确。
数据丢失:检查持久化配置,Redis默认开启RDB持久化,若需要更可靠的数据保护,可开启AOF持久化,修改配置文件中的
appendonly为yes即可。
以上就是在CentOS系统中安装配置Redis的完整流程,按照步骤操作即可搭建起可用的Redis服务,后续可根据业务需求进一步调整配置、优化性能。