2021-08-06 Caddy的下载与使用

无道 2021-08-06 0 条评论 其它杂类 阅读261 手机阅读

前言

在nginx已经把服务器性能压干之后,Caddy的作用是啥呢?

开箱即用的某些功能,极简配置。

下载

Download Caddy (caddyserver.com)

定制化配置下载也是其一大特色功能:

image-20210806150353188

左侧选择平台,下面选择需要的组件,右侧下载按钮。

Caddyfile

Caddyfile是其配置文件,Caddy也支持极其多的功能,比如static file server, reverse_proxy, etc…

Caddyfile里面可以配置多站点:

xxx.com {
    respond "SITE one"
}

yyy.com {
    respond "SITE two"
}

注意:

上面的.com{中间有空格,不然会语法报错。

SSL

当,xxx.com/yyy.com是具体的名称,而不是localhost,那么Caddy会在启动时自动申请Let’s Encrpty 的SSL

image-20210806150737760

image-20210806150818186

在内卷极其严重的当下,想要提升,想要比别人有竞争力,总要有差异化

Caddy凭什么可以打下一部分Nginx市场:极简化配置,支持自动SSL

同样,我们也是,差异化,核心竞争力才是生存之本。


Caddy配置不少,但也不多。

有需求时,可以看下文档

Welcome — Caddy Documentation (caddyserver.com)

压缩gzip

Caddy使用encode关键字开启压缩

localhost{
    encode zstd gzip
    templates
    file_server browse
}

Systemctl

我个人觉得,systemctl命令是非常不错的一个东西

 vim /usr/lib/systemd/system/caddy.service
[Unit] 
Description=Caddy
After=network.target remote-fs.target nss-lookup.target 
[Service]

ExecStart=/usr/local/caddy/caddy run -config /usr/local/caddy/Caddyfile
ExecReload=/usr/local/caddy/caddy reload -config /usr/local/caddy/Caddyfile
ExecStop=/usr/local/caddy/caddy stop -config /usr/local/caddy/Caddyfile
TimeoutStopSec=5s
LimitNOFILE=1048576
LimitNPROC=512
PrivateTmp=true
ProtectSystem=full
AmbientCapabilities=CAP_NET_BIND_SERVICE
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
[Install]
WantedBy=multi-user.target

注意 上面命令中的caddy所在位置

systemctl daemon-reload

例子

注意:目前使用的是Caddy最新版,即Caddy2

我很少喜欢用旧的版本

反向代理 reverse_proxy

xxx.misiai.com {
    reverse_proxy http://localhost:3032
}

静态网站 static server

xxx.misiai.com {
    encode gzip
    file_server
    try_files $uri $uri/ /index.html
    root * /usr/local/nginx/html/xxx.misiai.com
}

try_files语法和Nginx一样

当然,此处用在Vue,使用history router模式打包后的静态文件。

全文完 [
有帮助?打赏
支付宝打赏
微信打赏
]
标签: caddy nginx
修改: 08月08日 18:31
这篇文章还没有评论呢~
点击刷新/生成验证码