☰
Linux系统安装与配置Redis完整指南
2026/10/31 5:32:05 网站建设 项目流程

1. Linux系统安装Redis的完整指南

Redis作为当前最流行的内存数据库之一,在缓存、消息队列、会话存储等场景中广泛应用。对于Linux用户而言,掌握Redis的安装配置是必备技能。本文将详细介绍在Linux系统上安装Redis的两种主流方式:通过源码编译安装和通过包管理器(yum/apt)安装,并针对不同发行版提供具体操作指南。

提示:无论选择哪种安装方式,建议先更新系统软件包。执行sudo apt update(Debian/Ubuntu)或sudo yum update(CentOS/RHEL)可确保系统环境最新。

1.1 环境准备与前置检查

在开始安装前,需要确认系统基本信息:

# 查看系统版本 cat /etc/os-release # 查看CPU架构 uname -m # 检查gcc版本(编译安装需要) gcc --version

对于编译安装方式,需确保系统已安装必要的构建工具:

# Debian/Ubuntu sudo apt install build-essential tcl # CentOS/RHEL sudo yum groupinstall "Development Tools" sudo yum install tcl

2. 通过源码编译安装Redis(推荐生产环境使用)

2.1 下载与解压Redis源码

官方推荐从Redis官网获取最新稳定版源码:

# 下载指定版本(以7.2.4为例) wget https://download.redis.io/releases/redis-7.2.4.tar.gz # 校验文件完整性 sha256sum redis-7.2.4.tar.gz # 解压源码包 tar xzf redis-7.2.4.tar.gz cd redis-7.2.4

注意:生产环境建议使用长期支持版本(偶数版本号),可通过curl -s https://download.redis.io/redis-stable/00-RELEASENOTES | grep '^Redis'查看版本信息。

2.2 编译与安装过程详解

编译安装分为三个关键步骤:

# 1. 编译(使用-j参数加速,数字为CPU核心数) make -j4 # 2. 测试编译结果(可选但推荐) make test # 3. 安装到系统目录 sudo make install

安装完成后,Redis主要文件会存放在以下位置:

  • 可执行文件:/usr/local/bin/
  • 配置文件:redis-7.2.4/redis.conf
  • 数据目录:默认运行时生成

2.3 配置优化与系统集成

建议进行以下关键配置调整:

  1. 创建专用配置目录:
sudo mkdir /etc/redis sudo cp redis.conf /etc/redis/redis.conf
  1. 修改配置文件关键参数:
# 启用守护进程模式 daemonize yes # 设置工作目录 dir /var/lib/redis # 绑定IP(生产环境需限制) bind 127.0.0.1 # 最大内存限制 maxmemory 2gb maxmemory-policy allkeys-lru
  1. 创建systemd服务文件(/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 shutdown Restart=always [Install] WantedBy=multi-user.target
  1. 创建专用用户和目录:
sudo adduser --system --group --no-create-home redis sudo mkdir /var/lib/redis sudo chown redis:redis /var/lib/redis sudo chmod 770 /var/lib/redis

3. 通过包管理器安装Redis(适合快速部署)

3.1 Debian/Ubuntu系统安装

使用apt包管理器安装:

sudo apt update sudo apt install redis-server

安装后自动完成以下配置:

  • 服务已启动并启用开机自启
  • 配置文件位于/etc/redis/redis.conf
  • 日志文件位于/var/log/redis/redis-server.log

3.2 CentOS/RHEL系统安装

CentOS需先启用EPEL仓库:

sudo yum install epel-release sudo yum install redis

关键操作命令:

# 启动服务 sudo systemctl start redis # 设置开机启动 sudo systemctl enable redis # 查看状态 sudo systemctl status redis

3.3 包管理器安装的版本管理

查看安装版本:

redis-server --version

升级Redis版本:

# Debian/Ubuntu sudo apt update sudo apt install --only-upgrade redis-server # CentOS sudo yum update redis

4. Redis安装后的基本配置与验证

4.1 防火墙配置

如果需远程访问,需开放Redis端口(默认6379):

# UFW防火墙(Ubuntu) sudo ufw allow 6379 # firewalld(CentOS) sudo firewall-cmd --permanent --add-port=6379/tcp sudo firewall-cmd --reload

4.2 安全加固建议

  1. 设置访问密码:
# 在配置文件中添加 requirepass yourstrongpassword
  1. 禁用危险命令:
rename-command FLUSHDB "" rename-command FLUSHALL "" rename-command CONFIG ""
  1. 启用保护模式:
protected-mode yes

4.3 服务管理常用命令

# 启动服务 sudo systemctl start redis # 停止服务 sudo systemctl stop redis # 重启服务 sudo systemctl restart redis # 查看状态 sudo systemctl status redis # 查看日志 journalctl -u redis -f

4.4 基本功能验证

# 连接Redis redis-cli # 测试连通性 127.0.0.1:6379> ping # 设置测试键值 127.0.0.1:6379> set test "Hello Redis" 127.0.0.1:6379> get test # 查看信息 127.0.0.1:6379> info

5. 常见问题与解决方案

5.1 编译安装问题排查

  1. 编译错误:缺少依赖
# 常见错误:jemalloc/jemalloc.h: No such file or directory make distclean make MALLOC=libc
  1. 测试失败:需要更多内存
# 临时增加swap空间 sudo fallocate -l 1G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile

5.2 运行时报错处理

  1. 启动失败:地址已在使用
# 查找占用进程 sudo netstat -tulnp | grep 6379 # 或使用lsof sudo lsof -i :6379
  1. 连接被拒绝:检查以下配置
# 确保bind未注释且包含127.0.0.1 bind 127.0.0.1 # 保护模式设为no或设置密码 protected-mode no

5.3 性能优化建议

  1. 内存优化:
# 在配置文件中设置 hash-max-ziplist-entries 512 hash-max-ziplist-value 64 activerehashing yes
  1. 持久化配置:
# 根据需求选择RDB或AOF save 900 1 save 300 10 save 60 10000 appendonly yes appendfsync everysec
  1. 连接数调整:
maxclients 10000 tcp-backlog 511 timeout 0

6. 多实例部署与集群配置

6.1 单机多实例部署

  1. 创建新实例目录:
sudo mkdir -p /etc/redis/instance2 sudo cp /etc/redis/redis.conf /etc/redis/instance2/redis.conf
  1. 修改关键参数:
port 6380 pidfile /var/run/redis_6380.pid logfile "/var/log/redis/redis_6380.log" dir /var/lib/redis/instance2
  1. 创建新的systemd服务文件:
[Unit] Description=Redis Instance 2 After=network.target [Service] User=redis Group=redis ExecStart=/usr/local/bin/redis-server /etc/redis/instance2/redis.conf ExecStop=/usr/local/bin/redis-cli -p 6380 shutdown Restart=always [Install] WantedBy=multi-user.target

6.2 主从复制配置

  1. 在主节点配置:
# 确保主节点可写 replica-read-only no
  1. 在从节点配置:
replicaof <masterip> <masterport> masterauth <master-password> replica-serve-stale-data yes

6.3 Redis集群搭建

  1. 准备至少6个节点(3主3从)
  2. 每个节点启用集群模式:
cluster-enabled yes cluster-config-file nodes-6379.conf cluster-node-timeout 5000
  1. 使用redis-cli创建集群:
redis-cli --cluster create \ 127.0.0.1:6379 127.0.0.1:6380 \ 127.0.0.1:6381 127.0.0.1:6382 \ 127.0.0.1:6383 127.0.0.1:6384 \ --cluster-replicas 1

7. 维护与监控

7.1 日常维护命令

# 内存碎片整理 redis-cli memory purge # 手动持久化 redis-cli save redis-cli bgsave # AOF重写 redis-cli bgrewriteaof

7.2 监控指标查看

# 基础监控 redis-cli info # 内存详情 redis-cli info memory # 持久化信息 redis-cli info persistence # 复制信息 redis-cli info replication

7.3 备份与恢复策略

  1. RDB备份:
# 手动触发备份 redis-cli save # 或后台备份 redis-cli bgsave # 备份文件默认在dir配置的目录下
  1. AOF备份:
# 确保AOF开启 appendonly yes # 定期执行重写优化 redis-cli bgrewriteaof
  1. 恢复步骤:
# 关闭Redis redis-cli shutdown # 复制备份文件到数据目录 cp dump.rdb /var/lib/redis/ # 启动Redis systemctl start redis

8. 版本升级与迁移

8.1 小版本升级

# 编译安装方式 make && sudo make install # 包管理方式 sudo apt upgrade redis-server # 或 sudo yum update redis

8.2 大版本升级步骤

  1. 在新服务器安装新版本Redis
  2. 配置从旧实例复制数据:
# 在新实例执行 redis-cli --cluster import <host>:<port> --cluster-from <oldhost>:<oldport>
  1. 验证数据一致性后切换流量

8.3 降级注意事项

  1. 仅支持RDB文件从高版本向低版本兼容
  2. AOF文件通常不兼容低版本
  3. 集群配置变更可能导致数据丢失

重要提示:任何升级/降级操作前,务必做好完整备份。建议先在测试环境验证迁移方案。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询