# Redis 免编译包部署维护手册

# 前言

本手册提供基于 multi-install-redis 免编译包的纯手工部署方案:解压 → 配置参数 → 执行部署,全程手工编辑配置、手工执行命令,不使用 install-redis.sh 包装脚本。包内 Redis 二进制由官方源码静态编译,无需现场编译环境,适用于 Linux/信创环境的致远协同 V5 集群缓存。

Redis 核心参数与致远官方《Redis单机部署参考手册 (opens new window)》要求对齐:bind 内网IP、port 6379、daemonize yes、appendonly no、save ""(关闭 RDB)、requirepass 密码,由安装器自动写入 redis.conf。

# 环境要求

  • root 权限
  • systemd 支持(用于管理 redis.service)
  • 本机 SSH 服务必须可达(安装包通过 SSH 推送部署到本机)

# 部署步骤(共 6 步)

# 1、下载免编译包

下载地址:https://pan.baidu.com/s/1BY1ivBu9R17NcLgTZQUGEQ?pwd=2024

  • 安装包命名:multi-install-redis-<版本>-<架构>.tgz(如 multi-install-redis-7.4.11-amd64.tgz),优先下载Redis6或7的最新版本
  • 架构按服务器实际选择(uname -m 查询):x86_64 → amd64,aarch64 → arm64,loongarch64 → loong64

1792663280091.png

# 2、上传安装包到服务器

自行将安装包上传至服务器,建议放到 /data 目录。

# 3、解压安装包

cd /data
# 确保安装包在/data目录下
tar -xf multi-install-redis-7.4.11-amd64.tgz
cd multi-install-redis-7.4.11-amd64/
ls

解压后的典型目录结构如下(部署配置只需要关注 multi-install-redis.sh 和 cfg/native/redis.hosts 两个文件):

multi-install-redis-7.4.11-amd64/
├── multi-install-redis.sh    # 安装包内置部署脚本(核心文件)
├── bin/                      # 辅助工具(gossh、jq)
├── cfg/
│   └── native/
│       └── redis.hosts       # SSH 连接配置(需编辑)
├── software/                 # Redis 静态二进制
├── doc/                      # 文档
└── logs/                     # 运行日志

# 4、配置部署参数

# 部署前先确认无历史安装(应无输出)
ls /apps/redis/bin/redis-server

# 检查端口 6379 未被占用(应无输出)
ss -tlnp | grep :6379

# 编辑部署脚本参数
vi multi-install-redis.sh

修改以下参数:

redisPort="6379"       # Redis 端口,保持默认或改成实际端口
redisPass=""           # Redis 密码:留空则安装器随机生成 12 位;建议改成实际密码。密码要求:不少于 8 位,不能包含空格、单引号、双引号、`$`、反引号、`\`、`:`、`#`、`&`。
autoSetHostname=""     # 包内默认是 "1",改为空 = 不修改主机名

其余参数保持包内默认即可,已与 V5 手册要求的 redis.conf 对齐: daemonize="yes"、appendonly="no"、rdboff="1"(即 save "" 关闭 RDB)、loglevel="warning"。bind 地址不用改,安装器会按 redis.hosts 里填的 IP 自动设置。

# 5、配置 SSH 连接信息

安装包的运行原理是部署机 SSH 连接到目标机远程安装。安装包就放在 Redis 服务器上时,也要把本机的 SSH 信息填进去。

# 获取本机 IP
ip addr | awk '/inet .*global/ {split($2,a,"/"); print a[1]; exit}'

# 编辑 hosts 配置文件
vi cfg/native/redis.hosts

将 v8-redis 一行改成服务器真实 IP 和 SSH 信息(单机部署只保留这一行,其余行保持注释):

v8-redis host=192.168.58.141 port=22 user=root password=实际SSH密码

注意格式:不要有重复的 IP,不要带单引号或双引号,顶行录入。

# 6、执行安装并验证

在解压目录中执行部署脚本,出现 是否继续? [y/N] 时输入 y:

bash multi-install-redis.sh i redis

安装器会自动完成:创建 redis:redis 系统账号、生成 /apps/redis 目录结构、按 V5 手册参数写入 redis.conf、注册 redis.service 并设置开机自启。

验证安装结果:

# 验证版本
/apps/redis/bin/redis-server --version

# 验证服务状态
systemctl status redis

# 验证连接(替换实际密码和IP)
/apps/redis/bin/redis-cli -a 密码 -h 内网IP -p 6379 ping
# 预期输出:PONG

# 验证端口
ss -tlnp | grep :6379

# 检查 redis.conf 核心参数是否按预期生成
grep -E '^(bind|port|daemonize|appendonly|requirepass|save)' /apps/redis/etc/redis.conf

# 部署摘要(如存在)
cat doc/apps-deployment-summary.txt

安装后的默认路径:

项目 路径
程序目录 /apps/redis(bin/etc/logs/var)
配置文件 /apps/redis/etc/redis.conf
工作目录 /apps/redis/var(redis.conf 的 dir 参数)
日志文件 /apps/redis/logs/redis.log
服务 systemd 管理 redis.service,开机自启

# 日常运维

# 启停服务
systemctl start redis
systemctl stop redis
systemctl restart redis
systemctl status redis

# 查看进程、端口
ps -ef | grep redis-server | grep -v grep
ss -tlnp | grep :6379

# 查看日志
tail -f /apps/redis/logs/redis.log
journalctl -u redis -f

修改配置:

vi /apps/redis/etc/redis.conf
systemctl restart redis

提醒:默认配置按缓存用途设定,RDB 和 AOF 都关闭,重启后数据不保留。 如果这台 Redis 还要存别的数据,先评估是否需要开持久化,再改 save 和 appendonly 参数。

# 升级版本

升级思路是只换二进制、保留配置和数据。新版本 tgz 包从同一下载地址获取,注意架构一致。

# 1. 停服务
systemctl stop redis

# 2. 备份当前配置和二进制(<日期> 替换为当天日期)
cd /apps/redis
tar -czf /data/redis-conf-backup-<日期>.tar.gz etc
tar -czf /data/redis-bin-backup-<日期>.tar.gz bin

# 3. 解压新版本包,取出内层二进制包里的 bin/
cd /data
tar -xf multi-install-redis-新版本-amd64.tgz
tar -xf multi-install-redis-新版本-amd64/software/redis-static-新版本-amd64.tgz

# 4. 替换 bin/ 目录(注意属主保持 redis:redis)
rm -rf /apps/redis/bin
cp -a /data/redis/bin /apps/redis/bin
chown -R redis:redis /apps/redis/bin

# 5. 用原配置启动
systemctl start redis

# 6. 验证版本和连接
/apps/redis/bin/redis-server --version
/apps/redis/bin/redis-cli -a 实际Redis密码 -h 内网IP -p 6379 ping
# 预期输出:PONG

启动或验证失败时,用第 2 步的备份还原 bin/ 目录再启动,即可回到升级前状态:

systemctl stop redis
cd /apps/redis
rm -rf bin
tar -xzf /data/redis-bin-backup-<日期>.tar.gz
systemctl start redis

# 卸载

systemctl stop redis
systemctl disable redis
rm -f /etc/systemd/system/redis.service
systemctl daemon-reload
rm -rf /apps/redis
rm -rf /data/redis    # 数据目录,确认无用了再删

# 删除 /etc/profile 中安装器添加的 PATH 行
sed -i '\#^export PATH=/apps/redis/bin:#d' /etc/profile

# 安装器对系统的调整

安装过程中安装器会对系统做如下调整,装完后如果发现某些行为和装前不一样,先对照这里:

  • 在 /etc/sysctl.conf 追加内核参数(文件句柄、TCP 缓冲、vm.overcommit_memory=1、net.core.somaxconn=16384、禁用 IPv6 等)并 sysctl --system 生效;
  • 在 /etc/security/limits.conf 追加 nofile/nproc/memlock 限制;
  • 在 /etc/hosts 追加一条主机名映射;
  • 设置时区为 Asia/Shanghai;
  • 关闭 swap:执行 swapoff -a、注释 /etc/fstab 中的 swap 行,并 mask 掉 swap.target。

服务器上有 IPv6 业务或依赖 swap 的场景,部署前先评估这些调整的影响。需要保留 IPv6 的,把 /etc/sysctl.conf 里 net.ipv6.conf.*.disable_ipv6 三项改为 0 后重新 sysctl --system。需要保留 swap 的,可以先注释掉 multi-install-redis.sh 里 关闭交换分区 和 mask交换分区 两行再执行安装;已经装完想恢复 swap 的,取消 /etc/fstab 中 swap 行的注释并执行 systemctl unmask swap.target && reboot。

另外记得确认第 4 步的 autoSetHostname 已置空,否则安装器会执行 hostnamectl set-hostname 改掉主机名。

编撰人:het