1. 创建默认文件
在 caddy 命令所在目录,创建文件:Caddyfile(默认文件必须是这个名),内容如下:
{
log {
output file C:/caddy_2.11.4_windows_amd64/logs/caddy.error.log {
roll_size 20mb
roll_keep 5
}
level INFO
}
email 123456@qq.com
acme_ca https://acme-v02.api.letsencrypt.org/directory
}
# 下面域名必须事先配置好
static.xxx.com {
tls 123456@qq.com
root * C:\www\static
file_server
encode gzip zstd # 开启压缩,优化加载速度
}
解释:acme_ca
acme_ca https://acme-v02.api.letsencrypt.org/directory
指定使用 Let's Encrypt 签证书,只要邮箱就能注册账户,门槛更低
解释:全局log配置
log {
output file C:/caddy_2.11.4_windows_amd64/logs/caddy.error.log {
roll_size 20mb
roll_keep 5
}
level INFO
}
- 企业生产环境一般不会保留控制台输出,建议只写文件。请求量大时刷屏,控制台输出拖慢终端,远程桌面/SSH 卡顿甚至卡死
- 日志文件写成绝对路径:如果是 注册成服务启动 的,工作目录很可能 不是
C:\caddy_2.11.4_windows_amd64,结果日志就跑到别的地方去了,你还以为没生成。
解释:邮箱配置
全局 email 123456@qq.com 是给整个 Caddy 实例设置一个默认 ACME 账户邮箱;站点块里的 tls 123456@qq.com 是给这个站点单独指定邮箱
两者都写,站点自己的 tls 邮箱优先 全局兜底,站点覆盖
2. 校验默认配置文件
**提示:**上面写的是正确的,这步其实没用,只是模拟正常配置流程
**注意:**默认配置文件名必须是 Caddyfile
caddy validate
没有问题就继续下一步
3. 格式化配置文件
**提示:**格式化配置文件的缩进、空格等,也就是说,不执行这步,也可行
1. 预览格式化效果
不会修改文件,输出到控制台
caddy fmt Caddyfile
2. 直接格式化默认文件
**注意:**默认配置文件名必须是 Caddyfile
caddy fmt --overwrite
4. 重新加载默认配置文件
可以不重启 caddy 服务器,重新加载配置文件
caddy reload