跳转到主要内容

构建 KeyDB

本文档介绍了如何自行构建开源的 KeyDB。

如果您正在寻找预构建的 DEB 或 RPM 包,请查看我们的文档或访问 https://keydb.dev/downloads

构建示例#

以下示例从 Github 的 unstable (最新) 分支构建。该分支包含最新的推送更改。如果您想生成最新的官方发布版,请将分支更改为 RELEASE_6

sudo apt-get update
sudo apt-get install build-essential nasm autotools-dev autoconf libjemalloc-dev tcl tcl-dev uuid-dev libcurl4-openssl-dev git
git clone https://github.com/EQ-Alpha/KeyDB.git
cd KeyDB
make
sudo make install

构建问题与重新构建#

如果需要更新您的构建,请确保在再次构建之前运行 make distclean

切换到发布分支或开发分支#

要从最新的官方发布版构建,请在运行 make 之前切换分支。

git fetch --all
git checkout RELEASE_6
git pull

构建标志#

构建并启用 TLS 支持:#

请注意,如果构建时需要 TLS 支持,请在调用 make 时传递 BUILD_TLS=yes 标志。

构建并启用 systemd 支持#

要启用 systemd,请在调用 make 时使用 USE_SYSTEMD=yes 标志。现在您可以更新您的服务文件以使用 Type=notify,并更新您的 keydb.conf 文件以使用 supervised systemd 来利用此支持。

构建其他 Linux 发行版#

建议使用以下依赖项来构建和测试 KeyDB。

Ubuntu/Debian#

sudo apt update
sudo apt install build-essential nasm autotools-dev autoconf libjemalloc-dev tcl tcl-dev uuid-dev libcurl4-openssl-dev git

Archlinux#

pacman -Syu --noconfirm
pacman -S --noconfirm base-devel git tcl

Alpine#

apk add --no-cache coreutils gcc linux-headers make musl-dev util-linux-dev openssl-dev curl-dev g++ bash git perl libunwind-dev

CentOS 7#

sudo yum install -y scl-utils centos-release-scl
sudo yum install -y devtoolset-7 libuuid-devel
sudo source scl_source enable devtoolset-7
sudo yum install -y openssl openssl-devel curl-devel devtoolset-7-libatomic-devel tcl tcl-devel git wget epel-release
sudo yum install -y tcltls libzstd

Centos 8#

yum install -y scl-utils epel-release
dnf group install -y "Development Tools"
yum install -y 'dnf-command(config-manager)'
yum install -y dnf-plugins-core
dnf config-manager --set-enabled powertools
yum install -y libuuid-devel which libatomic
yum install -y openssl openssl-devel curl-devel git
yum install -y tcl-devel tcltls

Fedora 35#

dnf install -y jemalloc-devel g++ libuuid-devel libatomic openssl-devel curl-devel

打包所需的额外依赖项:#

用于创建 deb/rpm 包的源代码可以在 https://github.com/EQ-Alpha/KeyDB/tree/unstable/pkg 中找到。

对于 Deb 包:#

sudo apt install pbuilder lintian devscripts dh-make # 用于所有 deb 打包
sudo apt install apt-utils # 用于 xenial/stretch/buster
sudo apt install systemd procps # 用于 stretch/buster

对于 RPM 包#

sudo yum install rpm-build

使用 Docker 生成最新的二进制文件 (Ubuntu 18.04)#

如果您想要最新的开源二进制文件但不想自己运行构建,您可以在 Docker 容器内生成。请注意,这是在 Ubuntu 18.04 中构建,并从 KeyDB 的 unstable 分支拉取。如果您想在不同的镜像上构建,Dockerfiles 会发布在 Docker 部分。

创建一个您希望存放最新二进制文件的文件夹,然后使用您更新的路径运行以下命令。

$ docker run -it --rm -v /path-to-dump-binaries:/keydb_bin eqalpha/keydb-build-bin

您应该会收到以下文件:keydb-benchmark, keydb-check-aof, keydb-check-rdb, keydb-cli, keydb-sentinel, keydb-server