尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Redis编译及安装教程
首先查看系统CPU架构及系统版本:粗略信息:hostnamectl详细系统版本:cat /etc/os-release一、Redis 编译安装需要哪些环境Redis 本身依赖不多核心是软件作用是否必须gccC 编译器必须gcc-cC 编译支持建议make编译工具必须tclRedis 测试工具可选jemalloc-develRedis 内存分配优化建议tar解压源码必须麒麟 V10 基本兼容 CentOS/RHEL 生态。二、先在离线服务器检测环境下面给你一个完整检测脚本。创建脚本mkdir/opt/redis_makevi/opt/redis_make/check_redis_env.sh内容#!/bin/bashechoecho Redis 编译环境检测echomissing0check_cmd(){if!command-v$1/dev/null21;thenechoecho[缺失]$1echo作用:$2echo必要性:$3missing1fi}check_rpm(){if!rpm-q$1/dev/null21;thenechoecho[缺失]$1echo作用:$2echo必要性:$3missing1fi}# 检测命令check_cmd gccRedis源码编译所需C编译器必须check_cmdmake执行Makefile完成Redis编译必须check_cmdtar解压Redis源码包必须# 检测rpm包check_rpm gcc-c部分依赖可能需要C环境建议check_rpm jemalloc-develRedis高性能内存管理库不用,redis自带check_rpm tclRedis执行make test需要可选echoif[$missing-eq0];thenecho检测结果: Redis编译环境已满足elseecho检测结果: 存在缺失环境echo请根据缺失项准备对应rpm安装包fi三、赋予执行权限chmodx /opt/redis_make/check_redis_env.sh执行/opt/redis_make/check_redis_env.sh四、如何准备离线 rpm 包在另一台联网的麒麟/CentOS/RHEL机器下载 rpm 包再拷贝进去如果不知道下载那个版本看 glibc 判断生态情况1glibc 2.28通常兼容CentOS8Rocky8AlmaLinux8RHEL8可用 EL8 rpm情况2glibc 2.17通常兼容CentOS7RHEL7可用 EL7 rpm五、联网机器下载 Redis 编译依赖方式1推荐使用 yumdownloader先安装yuminstallyum-utils-y创建目录mkdirredis_rpmscdredis_rpms下载yumdownloader--resolve\gcc\gcc-c\make\tcl\jemalloc-devel\tar作用--resolve会自动下载依赖链。方式2在联网服务器中查看版本,并在网上下载先搜索联网服务器中相关版本,入vim:rpm -qf $(which vim)得出相关版本到对应发行商rpm源中下载:查不出具体的系统版本,可以去系统默认的rpm源查看,系统指向的那个路径,一般路径中就有对应的版本进入源存放目录:cd /etc/yum.repos.d/查看目录下源内容#麒麟服务器系统: cat kylin_x86_64.repo #openEuler: cat openEuler.repo麒麟V10: [Index of /NS/V10/V10SP3/os/adv/lic/base/x86_64/Packages/](Index of /NS/V10/)openEuler: repo.openeuler.org/openEuler-24.03-LTS-SP2/OS/x86_64/Packages/下在对应rpm,并上传安装:rpm -ivh *********.rpm六、拷贝到离线服务器可以用U盘SCPWinSCPrz/sz例如scp*.rpm root离线服务器IP:/opt/redis_rpms/七、离线安装 rpm 包进入目录cd/opt/redis_make执行rpm-Uvh*.rpm--force--nodeps如果依赖顺序问题严重推荐yum localinstall-y*.rpm即使离线也能安装本地 rpm。八、再次检测环境重新执行./check_redis_env.sh直到检测结果: Redis编译环境已满足九、准备 Redis 源码包联网机器下载推荐稳定版redis-6.2.22.tar.gz官方下载Redis官方下载页或者源码Redis Github Releases上传到服务器例如/opt/redis/十、解压 Redis移动文件:mv redis-6.2.22.tar.gz /opt/redis_make/进入目录cd/opt/redis_make/解压tar-zxvfredis-6.2.22.tar.gz-C/opt/redis_make/进入源码目录cdredis-6.2.22十一、开始编译 Redis直接编译make正常会看到Hint: Its a good idea to run maketest表示编译成功。十二、如果编译失败最常见1、gcc 不存在报错cc:commandnot found说明 gcc 没装。2、jemalloc 编译失败报错类似jemalloc/jemalloc.h: No suchfile解决makeMALLOClibc这是离线环境最常用方案。完整命令makeMALLOClibc十三、安装 Redis创建安装目录:mkdir -p /opt/redis6执行makePREFIX/opt/redis6/install说明参数作用PREFIX安装目录安装后可查看目录下/opt/redis6/bin是否包含redis-server redis-cli redis-benchmark十四、创建 Redis 运行目录mkdir-p/opt/redis6/confmkdir-p/opt/redis6/datamkdir-p/opt/redis6/logs十五、复制配置文件cp/opt/redis_make/redis-6.2.22/redis.conf /opt/redis6/conf/十六、修改 Redis 配置编辑vi/opt/redis6/conf/redis.conf如何在vi 编辑文档时查找内容[!TIP]打开文件如果尚未打开vi /opt/redis6/conf/redis.conf进入命令模式按Esc键确保你处于命令模式左下角没有-- INSERT --提示。输入搜索命令输入/requirepass然后按Enter。/表示向下搜索requirepass是你要查找的文本跳转结果按n键跳到下一个匹配项按N键跳到上一个匹配项修改*(必须配置)、日志文件logfile /opt/redis6/logs/redis.log*(必须配置)、后台运行daemonize yes*(必须配置)、数据目录dir /opt/redis6/data1、绑定IP允许远程bind 0.0.0.0仅本机bind 127.0.0.12、关闭保护模式内网可关闭protected-mode no3、端口port 63794、添加密码requirepass cqabj208十七、启动 Redis/opt/redis6/bin/redis-server /opt/redis6/conf/redis.conf十八、检查 Redis 是否启动查看进程ps-ef|grepredis查看端口netstat-lntp|grep6379如果没有 netstatss-lntp|grep6379十九、连接 Redis/opt/redis6/bin/redis-cli执行ping返回PONG说明安装成功。二十、配置 systemd 服务推荐创建vi/usr/lib/systemd/system/redis.service内容[Unit] DescriptionRedis Afternetwork.target [Service] Typeforking ExecStart/opt/redis6/bin/redis-server /opt/redis6/conf/redis.conf ExecStop/opt/redis6/bin/redis-cli shutdown Restartalways [Install] WantedBymulti-user.target二十一、加载服务加载服务:systemctl daemon-reload记得停止刚刚启动Redisps -ef | grep redis #查询出PID,使用 kill -9 [PID] 杀掉进程启动systemctl start redis查看状态systemctl status redis开机启动systemctlenableredis二十二、离线环境最容易踩的坑1、glibc 版本不兼容联网机器下载 rpm 时必须同版本麒麟同CPU架构查看cat/etc/os-releaseuname-m2、gcc版本太低Redis 7 推荐 GCC 5查看gcc-v3、make 编译卡死通常是内存不足swap不足查看free-h二十三、企业里更推荐的方法非常重要很多生产环境不会源码编译 Redis。而是直接准备编译好的二进制包因为避免 gcc 环境避免依赖地狱更稳定更容易标准化部署也就是联网机器编译好makePREFIX/opt/redis6install然后直接打包tar-zcvf/opt/redis6.tar.gz /opt/redis6离线服务器直接解压即可运行。这个是很多内网生产环境真实做法。
RELATED

相关推荐

降重降AI工具哪家强?多款AI降重平台实测对比

降重降AI工具哪家强?多款AI降重平台实测对比

论文AIGC检测率超标,是很多同学交稿前的最大焦虑。知网、维普等系统陆续接入AIGC检测,一旦被标记为“疑似AI写作”,轻则退回修改,重则影响学术诚信。市面上降重降AI工具不少,但能有效降低AIGC率的却不多。我们实测了包…

📅 2026/10/15 2:33:11
【Bug已解决】OpenClaw 升级后报错 Invalid configuration key: legacy_path 解决方案

【Bug已解决】OpenClaw 升级后报错 Invalid configuration key: legacy_path 解决方案

【Bug已解决】OpenClaw 升级后报错 Invalid configuration key: legacy_path 解决方案 1. 问题描述 将 OpenClaw 从旧版本升级到新版本后,直接替换了二进制文件,重新启动服务时报出配置项不合法的错误: Error: Invalid configuration key: le…

📅 2026/10/17 11:26:18
如何用AI中医助手开启你的传统医学智能学习之旅

如何用AI中医助手开启你的传统医学智能学习之旅

如何用AI中医助手开启你的传统医学智能学习之旅 【免费下载链接】CMLM-ZhongJing 首个中医大语言模型——“仲景”。受古代中医学巨匠张仲景深邃智慧启迪,专为传统中医领域打造的预训练大语言模型。 The first-ever Traditional Chinese Medicine large language mo…

📅 2026/10/17 4:28:49
MORE NEWS

更多资讯

📰

OpenShell 命令行框架实战:命令注册、参数校验与跨语言组合

1. 从零认识 OpenShell:它到底解决什么问题第一次听到 OpenShell 这个名字,很多人会下意识以为它跟某个操作系统内核或者远程终端工具有关。实际上,OpenShell 是一个面向命令行交互场景的开源框架,核心目标是把“人跟机器对话”这…

📰

串联混合动力汽车能量管理与模型预测控制实践

1. 串联混合动力汽车能量管理概述 串联混合动力汽车(Series Hybrid Electric Vehicle, SHEV)作为新能源汽车的重要分支,其能量管理系统的设计直接决定了整车性能和经济性表现。与传统燃油车相比,SHEV的动力系统架构具有显著差异&a…

📰

PostgreSQL并发控制:MVCC与锁机制详解

1. 并发控制的基本概念与PostgreSQL实现 在数据库系统中,并发控制是确保多个事务同时执行时数据一致性的关键技术。PostgreSQL作为一款功能强大的开源关系型数据库,提供了多种并发控制机制来应对不同的业务场景需求。 并发控制主要解决三类问题&#xf…

📰

搜索引擎高级检索的底层逻辑与六大全能语法

1. 这不是“搜索技巧”,而是信息筛选的底层逻辑重构很多人把“高级搜索语法”当成玄学口诀来背:site:、intitle:、filetype:这些符号像咒语一样被反复默念,却始终卡在“搜到了但不是我要的”这个死循环里。我带过不少刚接触信息检索的某高校学…

📰

DirectDraw老源码迁移实战:从编译到双缓冲游戏循环

简介:这份资源是《Windows游戏编程大师技巧(第二版)》配套光盘源码的完整打包,面向有一定C基础、希望系统学习Windows平台游戏开发的中高级读者,可用于对照书中章节动手复现示例、理解底层实现思路。压缩包共收录1035个…

📰

ICU4C 54.1 源码包实战:从编译集成到裁剪优化

简介:这份资源是 ICU4C 54.1 版本的完整 C 源码包,面向需要在 Windows 平台使用 Visual C 编译国际化与 Unicode 支持库的开发者,尤其适合从事跨语言、跨区域应用开发的中高级 C 工程师。压缩包共 4519 个文件,约 25.7MB&#xff…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬