介绍
caddy是和nginx一样的强大的http服务,优点是配置简单,并且能自动签发SSL证书,无需手动申请证书配置https,大大简化了运维工作,对小白非常友好,唯一的缺点是并发量稍微不及nginx,但是这点缺点几乎可以忽略不记。除非你的网站流量高的离谱,对于一般的企业是达不到那种流量的,个人就更达不到的。
目前知名度跟Apache和nginx差不多。代码也是开源的,很多大厂也在用,所以我强烈推荐。
我的使用场景
除了一般的网页服务,我经常配合docker使用,由于我比较喜欢用docker,所以经常使用caddy
或者 nginx-proxy-manager
来反代docker的端口,他俩使用都很简单,本文着重介绍caddy
1:安装caddy
由于CentOS已经停止维护,本文只介绍当前主流的系统debian和ubuntu系统,使用apt包安装
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy -yq
2:配置示例
配置路径 /etc/caddy/Caddyfile
将域名example.com反向代理到本地8080端口
example.com {
encode gzip
reverse_proxy localhost:8080
}
将域名example.com代理到网站目录/var/www
example.com {
root * /var/www
encode zstd gzip
file_server
}
3:常用命令
启动caddy:
sudo systemctl restart caddy
caddy会占用80和443端口,api服务会占用本地2019端口,启动后会自动接管域名的证书管理,自动申请SSL证书和开启HTTPS加密。Caddy 默认使用 Let's Encrypt 作为证书颁发机构(CA)来自动签发 SSL/TLS 证书,Let's Encrypt申请证书有频率限制,如果你是测试使用,可以在caddy配置文件的域名指定为http格式,不开启HTTPS加密,例如caddy配置中域名可以这样写 http://example.com
查看运行状态
systemctl status caddy
检查配置语法是否正确
caddy validate --config /etc/caddy/Caddyfile
停止服务
sudo systemctl stop caddy
完全卸载
sudo apt-get purge --auto-remove caddy
证书路径
/var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory
Comments NOTHING