Caddy

开始

安装

按你的系统挑一种方式,把 caddy 放进 PATH。

最简单的跨平台上手方式,是从 GitHub Releases下载可执行文件,放进 PATH。生产环境则更推荐用下面列出的发行版官方包。

静态二进制

  1. 获取一个 Caddy 二进制:从GitHub Releases(展开 Assets)、官方下载页,或者自己从源码构建。
  2. 把它放进 PATH 目录,这样就能直接敲 caddy 而不用写完整路径(用echo $PATH 看看有哪些目录符合条件)。
  3. 把 Caddy 装成系统服务,这一步强烈推荐,尤其是生产服务器。

升级静态二进制只需要用新版本替换旧文件然后重启。caddy upgrade 命令可以把这件事做得更省事。

Debian、Ubuntu、Raspbian

安装这个包会自动把 Caddy 以名为 caddy 的 systemd 服务启动运行。包里还带一个可选的caddy-api 服务,默认未启用;如果你主要靠 API 而不是配置文件来管理 Caddy,应该启用它。

稳定版
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' \
  | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' \
  | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo chmod o+r /usr/share/keyrings/caddy-stable-archive-keyring.gpg
sudo chmod o+r /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy

Fedora、RedHat、CentOS

这个包同时带了两份 systemd 单元文件,但默认不会启用。推荐启用服务来运行。

COPR
# Fedora
sudo dnf install dnf5-plugins
sudo dnf copr enable @caddy/caddy
sudo dnf install caddy

# CentOS / RHEL
sudo dnf install dnf-plugins-core
sudo dnf copr enable @caddy/caddy
sudo dnf install caddy

Arch Linux、Manjaro

pacman
sudo pacman -Syu caddy

这个包对两份 systemd 单元文件做了大量修改,包括自定义的启停行为和额外的沙箱标志,某些宿主目录可能因此对 Caddy 进程不可见。详见 Arch Linux Wiki。

Docker

Docker Hub
docker pull caddy

官方推荐用 Docker Compose 跑,写法见运行与守护一篇。记得把/data 挂出来做持久化,否则证书会被反复签发。

从源码构建

需要 Go 1.26.0 或更高版本。

go build
git clone "https://github.com/caddyserver/caddy.git"
cd caddy/cmd/caddy/
go build

注意:这样构建不会嵌入正确的版本信息。要带版本信息或第三方插件,请用xcaddy:

xcaddy
xcaddy build v2.10.0 \
  --with github.com/caddy-dns/cloudflare \
  --with github.com/mholt/caddy-l4

社区维护的安装方式

以下方式由社区维护,Caddy 团队不直接负责它们的更新。

平台命令
macOSbrew install caddy
Windowschoco install caddy 或 scoop install caddy
Gentooemerge www-servers/caddy
Termuxpkg install caddy
NixOS包 caddy,模块 services.caddy
Ansibleansible-galaxy install nvjacobo.caddy
Webicurl -sS https://webi.sh/caddy | sh