美文网首页
caddyfile 介绍

caddyfile 介绍

作者: Yellowtail | 来源:发表于2023-06-30 23:38 被阅读0次

概述

caddy 是一个 nginx 的替代品,用法很简单,作为静态文件服务器用起来很方便,这里介绍一下 ta的配置文件 caddyfile

结构

image.png

上面是官网介绍图,https://caddyserver.com/docs/caddyfile/concepts#structure

整体结构是:

  • 最外层的 {} 是全局配置
  • xxx {} 是某一个端口或者某一个域名的配置

样例

这里分享一下我的服务器上的配置

{
    debug
    log {
        output file /root/logs/caddy.log {
            roll_size 100mb
            roll_keep 5
        }
    }
}

http://sheep.xxxxxxx.ltd {
    root * /root/yang2-local/
    
    header {
        Access-Control-Allow-Origin "{http.request.header.Origin}"
        Access-Control-Allow-Credentials true
        Access-Control-Allow-Methods *
        Access-Control-Allow-Headers DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization
    }
    
    encode  gzip
    #tls /opt/certs/sheep.xxxxxxx.ltd-2022.pem /opt/certs/sheep.xxxxxxx.ltd-2022.key
    
    file_server 
    log {
        output file /root/logs/yang-local.log {
            roll_size 100mb
            roll_keep 5
        }
    }
}

www.xxxxxxx.ltd {
    root * /opt/fe/
    encode zstd gzip
    tls /opt/certs/xxxxxxx.ltd-2022.pem /opt/certs/xxxxxxx.ltd-2022.key
    file_server
    reverse_proxy /api/* localhost:8080 
    log {
        output file /root/logs/admin-be.log {
                roll_size 100mb
                roll_keep 5
        }
    }
}

daohang.xxxxxxx.ltd {
    root * /opt/daohang/
    encode  gzip
    tls /opt/certs/daohang.xxxxxxx.ltd-2022.pem /opt/certs/daohang.xxxxxxx.ltd-2022.key
    file_server 
}

cancan.xxxxxxx.ltd {
    root * /opt/cancan/
    encode  gzip
    tls /opt/certs/cancan.xxxxxxx.ltd-2022.pem /opt/certs/cancan.xxxxxxx.ltd-2022.key
    file_server
    reverse_proxy /api/* localhost:8080 
}


text-2-pic.xxxxxxx.ltd {
    root * /opt/text-2-pic/
    encode  gzip
    tls /opt/certs/text-2-pic.xxxxxxx.ltd-2022.pem /opt/certs/text-2-pic.xxxxxxx.ltd-2022.key
    file_server 
}

watermelon.xxxxxxx.ltd {
    root * /opt/watermelon/
    encode  gzip
    tls /opt/certs/watermelon.xxxxxxx.ltd-2022.pem /opt/certs/watermelon.xxxxxxx.ltd-2022.key
    file_server
}

介绍

全局配置

  • debug 开启debug日志
  • log 打印日志,其余参数没啥好说的,看单词就知道啥意思

静态文件服务器

  • 配置以域名开头,那么 caddy 就会通过请求Header 的host字段来做响应的动作

  • 配置是端口,那么 caddy 会自动开启一个端口,并且应用配置

  • root 这一行是指定静态文件路径,配合 file_server 一起使用

  • encode 压缩编码,开启可以节省服务器带宽

  • tls 证书路径,分别是公钥、私钥

反向代理

  • reverse_proxy 第一个参数是请求path,第二个参数是把匹配的请求转发到哪里

端口形式

:8099 {
  xxxx
}

域名形式

a.com {
  xxx
}

caddy 默认会开启 80、443 端口

下载

https://caddyserver.com/download

这个是官网下载地址, caddy 有很多插件,不是所有的插件都在 release 里面,这个页面可以自行选择插件,网站会动态编译、下载

如果不需要额外的插件,那么直接下载就行

使用

  • 启动
    ./caddy start
  • 重新加载配置文件Caddyfile
    ./caddy reload

相关文章

  • Ubuntu 18.10下基于Caddy的云盘NextCloud

    2019年6月27日更新 在Caddyfile中要配置连接fastcgi的timeout,否则会出现下载大文件出错...

  • Runtime介绍---术语介绍

    1. 什么是Runtime Runtime又叫运行时,是一套C语言的API。 我们平时编写的OC代码,底层都是基于...

  • 介绍

    万物终有一天会消失殆尽,诸神出卖黎明,光明为黑暗所湮灭,日月皆痕,海潮鸣泣,幼雏嚎啕,生灵涂炭。 托里奥世纪第20...

  • 介绍😊

    大家好,我是beth,初入简书,不邀自来,还请各位见谅! 先说说我是怎么想着来的吧?这不是刚过了一个寒假嘛...

  • 介绍

    在这个世界上还有三个家族他们不受各个国家联合国管。但他们身上有着使命分别是帝国家族曲国家族圣国家族。他们隐藏在一个...

  • 介绍

    云轩:主角,星罗帝国的二皇子。从小就不能练气,被人们称为废物。直到12岁的时候,自己的武魂觉醒才能练气,双...

  • 介绍

    万花阁 神秘至极的组织,亦正亦邪。万花阁的人行动隐秘,至今未被发现所在地。听说组成成员均以花来命名。所到之处,皆留...

  • 介绍

    此书命曰元.八洲传。属九洲四传第二部。第一部,上古往事。上古往事乃元八洲传外传。前两部为战胜心魔,而第三部,大梦...

  • 介绍

    千肆篇 7月的天气燥热,但在红杏阁里这份燥热就别有一番风味。漫天的胭脂水粉的香味变成了调味剂,女人们千姿百媚,在...

  • 介绍

    该文集属于收录文集,里面的内容不全是本人创作,有收录个人喜欢的内容。 *(偏个人向)

网友评论

      本文标题:caddyfile 介绍

      本文链接:https://www.haomeiwen.com/subject/dimtudtx.html