前言

有台真·垃圾 VPS,Docker 装不上,LNMP 啥的感觉也够呛,决定装个 Caddy,然后配合 hugo 或者 hexo 啥的玩下;

环境为 Ubuntu 18.04,使用 VSCode 远程连接;

各种中文教程中的安装脚本链接都失效了,然后配置说明比 Z-BlogPHP 的文档还栏;

果然还是得看英文官方文档:https://caddyserver.com/docs/

blog.wdssmq.com ← 在写这篇教程时姑且能打开了,先用了 hugo 测试,能够自动给配置 ssl 这点挺厉害的;

「AD:各种 VPS 推荐

安装

1
curl -sS https://webinstall.dev/caddy | bash

Install — Caddy Documentation

https://caddyserver.com/docs/install

Hello Caddy

1
2
3
4
cd ~
mkdir caddy
# code 为 VSCode 内编辑文件的命令;
code ~/caddy/Caddyfile

输入:

1
2
:8080
respond "Hello, world!"
1
2
3
4
5
6
# caddy 命令需要在同目录执行,除非指定 Caddyfile 路径;
cd ~/caddy
# Caddyfile 修改后使用 adppt 更新
caddy adapt
# 启动服务
caddy run

后台运行

1
2
3
4
5
6
# 后台运行
caddy start
# 重启,会自动执行 adapt
caddy reload
# 停止
caddy stop

Caddyfile 配置

修改后需caddy reload

在 Caddyfile 同目录下创建 index.html,修改配置文件内容:

1
2
3
:8080
file_server
# file_server browse # 不存在 index 文件时显示文件夹内的文件

指定具体的 root 目录和域名等;

1
2
3
4
blog.wdssmq.com
root * /root/wwwroot/blog.wdssmq.com/public
encode zstd gzip
file_server

开启多个服务监听;

localhost也可以换成具体的域名;

之后将 root file_server 等属性写进大括号内;

1
2
3
4
5
6
localhost {
respond "Hello, world!"
}
localhost:2016 {
respond "Goodbye, world!"
}

file_server (Caddyfile directive) — Caddy Documentation:

https://caddyserver.com/docs/caddyfile/directives/file_server

Caddyfile Tutorial — Caddy Documentation:

https://caddyserver.com/docs/caddyfile-tutorial