logo
GitHub

Caddy 命令行工具使用指南

本文详细介绍 Caddy 命令行工具的使用方法,包括常用命令、配置管理、调试等功能。

基础命令

启动和停止

Terminal window
# 启动 Caddy
caddy start
# 停止 Caddy
caddy stop
# 重启 Caddy
caddy restart
# 重新加载配置
caddy reload

运行模式

Terminal window
# 前台运行(开发调试用)
caddy run
# 指定配置文件运行
caddy run --config /path/to/Caddyfile
# 使用环境变量
CADDY_ADAPTER=caddyfile CADDY_CONFIG=/path/to/Caddyfile caddy run

配置管理

配置验证

Terminal window
# 验证 Caddyfile 语法
caddy validate --config /path/to/Caddyfile
# 格式化 Caddyfile
caddy fmt --overwrite /path/to/Caddyfile
# 将 Caddyfile 转换为 JSON
caddy adapt --config /path/to/Caddyfile

配置导入导出

Terminal window
# 导出当前配置
caddy adapt --config /path/to/Caddyfile > config.json
# 导入配置
caddy load < config.json
# 打印当前配置
caddy adapt --pretty --config /path/to/Caddyfile

证书管理

查看证书

Terminal window
# 列出所有证书
caddy certificates
# 查看特定域名的证书
caddy certificates example.com

证书操作

Terminal window
# 手动获取证书
caddy trust
# 移除所有证书
caddy untrust
# 重新加载证书
caddy reload --config /path/to/Caddyfile

调试工具

日志查看

Terminal window
# 查看实时日志
caddy run --config /path/to/Caddyfile --debug
# 设置日志级别
caddy run --config /path/to/Caddyfile --debug --log-level DEBUG

性能分析

Terminal window
# 启用 pprof
caddy run --config /path/to/Caddyfile --debug --pprof
# 生成 CPU 分析文件
go tool pprof http://localhost:2019/debug/pprof/profile
# 生成内存分析文件
go tool pprof http://localhost:2019/debug/pprof/heap

环境变量

常用环境变量

Terminal window
# 配置文件路径
export CADDY_CONFIG=/etc/caddy/Caddyfile
# 配置适配器
export CADDY_ADAPTER=caddyfile
# 管理 API 地址
export CADDY_ADMIN=http://localhost:2019

系统集成

/etc/default/caddy
# systemd 环境文件
CADDY_CONFIG=/etc/caddy/Caddyfile
CADDY_ADAPTER=caddyfile
CADDY_LOG_FILE=/var/log/caddy/access.log

插件管理

构建自定义版本

Terminal window
# 使用 xcaddy 构建
xcaddy build \
--with github.com/caddy-dns/cloudflare \
--with github.com/greenpau/caddy-security
# 指定版本构建
xcaddy build v2.7.4 \
--with github.com/caddy-dns/[email protected]

插件列表

Terminal window
# 查看已安装插件
caddy list-modules
# 查看特定类型插件
caddy list-modules http.handlers

实用工具

密码生成

Terminal window
# 生成 basicauth 密码
caddy hash-password
# 指定加密算法
caddy hash-password --algorithm bcrypt

配置转换

Terminal window
# Caddyfile 转 JSON
caddy adapt --config Caddyfile --pretty
# JSON 转 Caddyfile
caddy adapt --config config.json --adapter caddyfile

故障排查

诊断命令

Terminal window
# 检查端口占用
caddy validate --address :80
# 测试 TLS 连接
caddy tls test example.com
# 检查系统限制
caddy environ

调试信息

Terminal window
# 打印版本信息
caddy version
# 显示构建信息
caddy build-info
# 显示环境信息
caddy environ

性能测试

基准测试

Terminal window
# 使用内置的基准测试工具
caddy bench --duration 30s http://localhost
# 指定并发数
caddy bench --duration 30s --concurrency 100 http://localhost

负载测试

Terminal window
# 压力测试
caddy bench --duration 60s --concurrency 200 http://localhost
# 导出测试报告
caddy bench --duration 30s --export-file report.json http://localhost