安装 xcaddy
xcaddy(caddyserver/xcaddy: Build Caddy with plugins (github.com))是一个编译、调试和管理caddy插件的项目。此项目需要依赖一个 Go 开发环境,具体安装方式请看:Go 开发环境配置
在安装好环境后,安装 xcaddy
go install github.com/caddyserver/xcaddy/cmd/xcaddy@latest
编译带插件的 Caddy
caddy的插件是需要静态编译到二进制文件中的,此处需要我们手动编译
cd /tmp
~/go/bin/xcaddy build --with github.com/mholt/caddy-l4
sudo mv caddy /usr/bin/caddy
sudo systemctl restart caddy
设置配置文件
sudo mkdir /etc/caddy/ -p
sudo vim /etc/caddy/caddy.json
插入下列内容
{
"apps": {
"layer4": {
"servers": {
"freshrss": {
"listen": ["0.0.0.0:8773"],
"routes": [
{
"match": [
{
"http": []
}
],
"handle": [
{
"handler": "proxy",
"upstreams": [
{"dial": ["100.121.204.14:8080"]}
]
}
]
}
]
}
}
}
}
}
编辑 caddy 的 systemd
sudo vim /usr/lib/systemd/system/caddy.service
插入下列命令
[Unit]
Description=caddy service
[Service]
Type=simple
ExecStart=/usr/bin/caddy run --environ --config /etc/caddy/caddy.json
ExecReload=/usr/bin/caddy reload --config /etc/caddy/caddy.json --force
Restart=on-failure
[Install]
WantedBy=multi-user.target
启动 Caddy
sudo systemctl daemon-reload
sudo systemctl restart caddy
sudo systemctl status caddy
更新配置
使用下列命令修改配置文件
sudo vim /etc/caddy/caddyFile
之后重载配置
sudo systemctl reload caddy
相关控制命令
命令 | |
---|---|
启动服务 | sudo systemctl start caddy |
停止服务 | sudo systemctl stop caddy |
重启服务 | sudo systemctl restart caddy |
重载配置 | sudo systemctl reload caddy |
检查状态 | sudo systemctl status caddy |
启用自动启动 | sudo systemctl enable caddy |
禁用自动启动 | sudo systemctl disable caddy |