在 Ubuntu 20.04 (Focal) 上构建和运行 Redis 开源版

Redis 开源版

请按照以下步骤在运行 Ubuntu 20.04 (Focal) 的系统上从源代码构建和运行 Redis 开源版。

注意

用于生成这些构建说明的 Docker 镜像

  • ubuntu:20.04

1. 安装所需的依赖项

更新软件包列表并安装必要的开发工具和库

apt-get update
apt-get install -y sudo
sudo apt-get install -y --no-install-recommends \
    ca-certificates \
    wget \
    dpkg-dev \
    gcc \
    g++ \
    libc6-dev \
    libssl-dev \
    make \
    git \
    python3 \
    python3-pip \
    python3-venv \
    python3-dev \
    unzip \
    rsync \
    clang \
    automake \
    autoconf \
    gcc-10 \
    g++-10 \
    libtool

2. 使用 GCC 10 作为默认编译器

将系统的默认编译器更新为 GCC 10

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 --slave /usr/bin/g++ g++ /usr/bin/g++-10

3. 安装 CMake

使用 pip3 安装 CMake 并将其链接以实现系统范围访问。

警告
CMake 3.31.6 版本是最新支持的版本。不能使用更新的版本。
pip3 install cmake==3.31.6
sudo ln -sf /usr/local/bin/cmake /usr/bin/cmake
cmake --version

4. 下载并解压 Redis 源代码

Redis 源代码可从Redis GitHub 站点获取。选择您要构建的版本,然后从Assets下拉菜单中选择 .tar.gz 文件。您可以通过对照 redis-hashes GitHub 仓库中的摘要来验证这些下载的完整性。

将 tar(1) 文件复制到 /usr/src

或者,您可以使用 wget 命令直接下载文件,如下所示。

cd /usr/src
wget -O redis-<version>.tar.gz https://github.com/redis/redis/archive/refs/tags/<version>.tar.gz

<version> 替换为三位数的 Redis 发布版本号,例如 8.0.0

解压源代码

cd /usr/src
tar xvf redis-<version>.tar.gz
rm redis-<version>.tar.gz

5. 构建 Redis

设置必要的环境变量并编译 Redis

cd /usr/src/redis-<version>
export BUILD_TLS=yes
export BUILD_WITH_MODULES=yes
export INSTALL_RUST_TOOLCHAIN=yes
export DISABLE_WERRORS=yes

make -j "$(nproc)" all

6. (可选)验证安装

确认 Redis 安装

./src/redis-server --version
./src/redis-cli --version

7. 启动 Redis

要启动 Redis,请使用以下命令

./src/redis-server redis-full.conf

要验证可用模块是否已安装,请运行 [INFO]/docs/latest/commands/info/ 命令并查找类似于以下的行

./src/redis-cli INFO
...
# Modules
module:name=ReJSON,ver=20803,api=1,filters=0,usedby=[search],using=[],options=[handle-io-errors]
module:name=search,ver=21005,api=1,filters=0,usedby=[],using=[ReJSON],options=[handle-io-errors]
module:name=bf,ver=20802,api=1,filters=0,usedby=[],using=[],options=[]
module:name=timeseries,ver=11202,api=1,filters=0,usedby=[],using=[],options=[handle-io-errors]
module:name=RedisCompat,ver=1,api=1,filters=0,usedby=[],using=[],options=[]
module:name=vectorset,ver=1,api=1,filters=0,usedby=[],using=[],options=[]
...

8. (可选)将 Redis 安装到其默认位置

cd /usr/src/redis-<version>
sudo make install
评价此页面
回到顶部 ↑