Linux 安装 Caddy 服务
Caddy 是一个功能强大的、企业级的、开源的 Web 服务器,具有自动 HTTPS 功能。本文介绍在不同 Linux 发行版系统上安装 Caddy 的多种方法。
什么是 Caddy
Caddy 是一个现代化的 Web 服务器,主要特点包括:
- 自动 HTTPS:自动为域名配置 SSL/TLS 证书
- HTTP/2 和 HTTP/3:支持最新的 HTTP 协议
- 反向代理:强大的反向代理功能
- 易于配置:简洁的 Caddyfile 配置语法
- 高性能:基于 Go 语言开发,性能优异
安装方法
方法一:Debian/Ubuntu/Raspbian
Caddy 官方提供了 Debian/Ubuntu/Raspbian 的软件包,这是最推荐的安装方式。
稳定版本
# 安装必要的工具
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
# 添加 Caddy 官方 GPG 密钥
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
# 添加 Caddy 软件源
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
# 安装 Caddy
sudo apt install caddy
测试版本(包含 beta 和 RC 版本)
如果需要使用测试版本,可以使用以下命令:
# 安装必要的工具
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
# 添加 Caddy 测试版 GPG 密钥
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/testing/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-testing-archive-keyring.gpg
# 添加 Caddy 测试版软件源
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/testing/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-testing.list
# 设置密钥和源文件权限
sudo chmod o+r /usr/share/keyrings/caddy-testing-archive-keyring.gpg
sudo chmod o+r /etc/apt/sources.list.d/caddy-testing.list
# 更新软件包列表
sudo apt update
# 安装 Caddy
sudo apt install caddy
注意:安装完成后,Caddy 会自动作为 systemd 服务启动并运行。服务名称为 caddy。
提示
如果由于网络问题无法通过 curl 下载 gpg.key 和 debian.deb.txt 文件,可以参考 常见问题 中的解决办法。
方法二:Fedora/RedHat/CentOS
Fedora
# 安装 dnf5 插件
sudo dnf install dnf5-plugins
# 启用 Caddy COPR 仓库
sudo dnf copr enable @caddy/caddy
# 安装 Caddy
sudo dnf install caddy
CentOS/RHEL
# 安装 dnf 插件
sudo dnf install dnf-plugins-core
# 启用 Caddy COPR 仓库
sudo dnf copr enable @caddy/caddy
# 安装 Caddy
sudo dnf install caddy
注意:安装完成后,Caddy 的 systemd 服务文件已安装但默认未启用。需要手动启用和启动服务。
方法三:Arch Linux/Manjaro
# 更新软件包列表
sudo pacman -Syu
# 安装 Caddy
sudo pacman -S caddy
注意:Arch Linux 的 Caddy 包包含修改过的 systemd 服务文件,默认未启用。
方法四:Docker
使用 Docker 安装 Caddy 是最简单的方式之一:
# 拉取 Caddy 官方镜像
docker pull caddy
# 运行 Caddy 容器
docker run -d --name caddy \
-p 80:80 -p 443:443 \
-v $PWD/Caddyfile:/etc/caddy/Caddyfile \
-v caddy_data:/data \
-v caddy_config:/config \
caddy
Docker Compose 配置
推荐使用 Docker Compose 来管理 Caddy:
version: '3.8'
services:
caddy:
image: caddy:latest
container_name: caddy
restart: unless-stopped
ports:
- "80:80"
- "443:443"
- "443:443/udp"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- caddy_data:/data
- caddy_config:/config
volumes:
caddy_data:
caddy_config: