在Linux环境中通过源码方式编译安装Redis,能够让用户自由选择版本、开启特定功能模块,并深入理解其运行机理。与直接用包管理器安装相比,源码编译虽然多了几步操作,但可控性更强,也方便后续做性能调优或二次开发。

一、准备工作与依赖安装
在开始编译之前,必须确认系统已经具备基础的构建工具。Redis是由C语言编写的,因此最核心的依赖是GNU编译器集合gcc以及构建工具make。如果系统中缺少这些组件,编译过程会直接失败并提示找不到cc或make命令。不同发行版的安装命令略有差异,但目的相同。
以常见的CentOS为例,可以使用yum groupinstall来一次性安装开发工具组;Ubuntu用户则通过apt安装build-essential即可。此外,如果后续打算启用Redis的单元测试或某些加密特性,可能还需要安装tcl等附加包。建议先更新软件源再执行安装,避免因旧索引导致下载缓慢或版本不匹配。
- CentOS执行:yum install -y gcc make
- Ubuntu执行:apt-get update && apt-get install -y build-essential
- 验证gcc:gcc --version
二、获取Redis源码并解压
Redis的官方站点提供了所有历史版本的源码压缩包,推荐选择最新的稳定版而非测试版,以保证生产环境的安全。可以使用wget命令直接从官网拉取tar.gz文件,例如redis-7.2.4.tar.gz这类命名格式。下载完成后,通过tar命令解压到当前目录或指定的工作路径。
解压后会生成一个以版本号命名的文件夹,进入该目录就能看到src、deps、utils等子目录。其中src存放核心源码与最终生成的可执行文件,deps包含jemalloc等第三方依赖库的源码。理解目录结构有助于后续排查编译错误,比如某些情况下需要手动编译deps里的库。
建议将源码包放在/usr/local/src目录下,这是Linux约定俗成的存放第三方源码的位置,便于集中管理。
三、编译与安装步骤详解
进入解压后的Redis目录,直接执行make命令即可启动编译。该过程会调用gcc将C代码编译为二进制文件,并在src目录下生成redis-server、redis-cli等关键程序。如果机器核心数较多,可附加-j参数如make -j4来加速,但初次编译不建议开太高并发,方便观察报错信息。
编译成功后,推荐使用make install完成安装。此命令默认将可执行文件复制到/usr/local/bin中,使其能在任意路径下直接调用。若想自定义安装位置,可先执行make PREFIX=/your/path install,这样所有二进制就会落在指定目录。下表对比了两种安装方式的区别:
| 方式 | 命令示例 | 文件落点 | 适用场景 |
|---|---|---|---|
| 默认安装 | make install | /usr/local/bin | 单版本全局使用 |
| 指定前缀 | make PREFIX=/opt/redis install | /opt/redis/bin | 多版本隔离部署 |
四、基础配置与启动运行
编译安装后并不会自动生成配置文件,需要从源码目录复制redis.conf到合适位置,例如/etc/redis/下。用文本编辑器打开该文件,最关键的是修改bind项以限定访问IP,以及将daemonize改为yes让Redis以守护进程方式后台运行。否则终端关闭后服务就会停止。
启动服务只需执行redis-server /etc/redis/redis.conf。随后另开终端输入redis-cli ping,若返回PONG则说明服务正常。生产环境还应设置requirepass密码、配置持久化策略。初次学习时可在本地虚拟机反复练习编译流程,熟悉从报错到解决的全过程,比直接用人家编译好的二进制更有收获。
五、常见编译问题处理
实践中最容易遇到的是gcc版本过低导致编译报错,尤其是CentOS 7自带的gcc 4.8无法编译新款Redis。此时需先升级gcc到9以上,再通过scl或手动指定路径让make使用新编译器。另一个常见问题是缺少jemalloc,可在make时添加MALLOC=libc参数强制使用系统内存分配器临时绕过。
若执行make test失败,多半是没装tcl,用包管理器补装后再跑测试即可。遇到莫名其妙的权限拒绝,检查是否用root解压并编译,或者目标安装目录是否对当前用户可写。理清这些症结,Linux系统下Redis源码编译安装便不再是令人头疼的任务,而是一套清晰可循的标准动作。
Redis源码编译Linux安装教程Redis_make_install修改时间:2026-08-10 16:57:30