caddy server是一个用golang写的优秀web server,国内用户相对偏少,但我非常喜欢这个东西,所以来做个简易的手册。
它有许多nginx和apache没有的功能,不仅具有特色而且非常实用,比如简洁的conf,http/2,markdown渲染等等
要说它的缺点,就是效率不如前两者。
本文会以下几块方面来介绍此服务器
caddy安装及配置文件基本写法
基本组成模块
传统php+mysql建站
caddy特色markdown建站
反向代理引入更多后端系统
ps:解压时请把压缩包放在一个新文件夹后再解压
然后执行 <code>./caddy</code> 这时候访问<code>localhost:2015</code>就可以测试是否运行起来了,至于持久化运行,有多种方法实现,
candyserver下载下来的安装包里已经包含各系统启动文件
博主使用的是使用screen来守护,当然还有更专业的软件实现,比如supservisor
caddy的conf写法有好多种,首先你要在caddy的可执行文件的同目录创建一个名叫<code>caddyfile</code>的文件,或者在启动时加入路径<code>./caddy -conf="/path/to/caddyfile"</code>
接下来是几种caddy的conf的写法,简直辣眼睛
本地访问80:
单网站:(它会帮您签好let's encrypt证书并且强制定向到https)
多网站:
均写入到conf站点配置中
1.log日志
2.目录访问
3.gzip压缩
4.自主ssl证书
5.git拉取功能(3600秒为间隔时间)
6.访问口令认证(用户emiria,密码abc123)
7.cors跨域(下载时记得勾上)
8.ip屏蔽(下载时记得勾上)
9.跳转功能(目录重写功能也类似)
而且不像nginx进行www重定向那么麻烦,把域名原域名(不限协议)写上,大括号里加上这个就可以,简直太赞了
10.自定义错误页面
包管理器安装mysql+php,然后添加
引入反向代理,只需一行
负载均衡也是类似配置的23333
当然caddyserver还有许多不常用的,但是非常好玩的组件,大家可以去官网看看文档,博主也将继续探索~(> y <)