在 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