导航菜单

Caddy 命令行工具使用指南

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

基础命令

启动和停止

# 启动 Caddy
caddy start

# 停止 Caddy
caddy stop

# 重启 Caddy
caddy restart

# 重新加载配置
caddy reload

运行模式

# 前台运行(开发调试用)
caddy run

# 指定配置文件运行
caddy run --config /path/to/Caddyfile

# 使用环境变量
CADDY_ADAPTER=caddyfile CADDY_CONFIG=/path/to/Caddyfile caddy run

配置管理

配置验证

# 验证 Caddyfile 语法
caddy validate --config /path/to/Caddyfile

# 格式化 Caddyfile
caddy fmt --overwrite /path/to/Caddyfile

# 将 Caddyfile 转换为 JSON
caddy adapt --config /path/to/Caddyfile

配置导入导出

# 导出当前配置
caddy adapt --config /path/to/Caddyfile > config.json

# 导入配置
caddy load < config.json

# 打印当前配置
caddy adapt --pretty --config /path/to/Caddyfile

证书管理

查看证书

# 列出所有证书
caddy certificates

# 查看特定域名的证书
caddy certificates example.com

证书操作

# 手动获取证书
caddy trust

# 移除所有证书
caddy untrust

# 重新加载证书
caddy reload --config /path/to/Caddyfile

调试工具

日志查看

# 查看实时日志
caddy run --config /path/to/Caddyfile --debug

# 设置日志级别
caddy run --config /path/to/Caddyfile --debug --log-level DEBUG

性能分析

# 启用 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

环境变量

常用环境变量

# 配置文件路径
export CADDY_CONFIG=/etc/caddy/Caddyfile

# 配置适配器
export CADDY_ADAPTER=caddyfile

# 管理 API 地址
export CADDY_ADMIN=http://localhost:2019

系统集成

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

插件管理

构建自定义版本

# 使用 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/cloudflare@v1.0.0

插件列表

# 查看已安装插件
caddy list-modules

# 查看特定类型插件
caddy list-modules http.handlers

实用工具

密码生成

# 生成 basicauth 密码
caddy hash-password

# 指定加密算法
caddy hash-password --algorithm bcrypt

配置转换

# Caddyfile 转 JSON
caddy adapt --config Caddyfile --pretty

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

故障排查

诊断命令

# 检查端口占用
caddy validate --address :80

# 测试 TLS 连接
caddy tls test example.com

# 检查系统限制
caddy environ

调试信息

# 打印版本信息
caddy version

# 显示构建信息
caddy build-info

# 显示环境信息
caddy environ

性能测试

基准测试

# 使用内置的基准测试工具
caddy bench --duration 30s http://localhost

# 指定并发数
caddy bench --duration 30s --concurrency 100 http://localhost

负载测试

# 压力测试
caddy bench --duration 60s --concurrency 200 http://localhost

# 导出测试报告
caddy bench --duration 30s --export-file report.json http://localhost

搜索