背景

听说了caddy这个go开发的web服务器很久,据说配置极其简单,还有https证书申请、自动续签等功能,且性能也不差nginx太多。

正好想给博客套上https,那就尝尝鲜,把服务器从nginx迁到caddy。

环境

centos 8.1

caddy版本:v1.0.4

安装步骤

脚本安装

sudo yum update
sudo yum install -y policycoreutils-python-utils
curl https://getcaddy.com | bash -s personal  http.cache,http.expires,http.ipfilter,http.minify,http.nobots,http.ratelimit

正常安装完成后,caddy已经安装到/usr/local/bin下了

配置

我们新建一个网站的根目录/var/www/xxxx.com,并将所有网站页面文件拷贝进来

mkdir -p /var/www/xxxx.com

新建配置文件/etc/caddy/Caddyfile并编辑

www.xxxx.com {
  root /var/www/xxxx.com
  gzip
  log /var/log/caddy.log
  tls xxxx@gmail.com
}
  • www.xxxx.com 是博客的域名,默认使用https协议,如果要使用http,必须强制指定http://www.xxxx.com
  • root指定网站文件目录
  • gzip表示进行压缩
  • tls这行配置申请ssl的邮箱

对,就这几行,一个https网站就搭建起来了,还会自动续签ssl证书,相比nginx一堆配置,真是简单到发指!

启动

caddy -conf="/etc/caddy/Caddyfile"

开机启动

编辑/etc/rc.local,添加:

caddy -conf="/etc/caddy/Caddyfile"

后记

caddy v2版本已经出来了,但是折腾了很久也没调通,配置文件的复杂度都快赶上nginx了,不建议升级。

参考

Caddy2 部署网站,并启用Webdav

替换 Nginx 使用 Caddy 作为博客静态服务器

用 Caddy 替代 Nginx 迈入 HTTPS 时代