能够扩展到数以万计的站点;
可以在任意地方执行,没有额外的依赖;
采用Go语言编写,内存安全更有保证。
首先我们直接在CentOS8上安装Caddy,使用DNF工具安装无疑是最简单的,Docker安装方式之后也会介绍。
使用如下命令通过DNF工具安装Caddy,安装成功后Caddy会被注册成系统服务;
dnfinstall'dnf-command(copr)'
dnfcoprenable@caddy/caddy
dnfinstallcaddy
使用systemctlstatuscaddy查看Caddy的状态,可以发现Caddy已被注册为系统服务,但是还没开启。
下面我们体验下Caddy的基本使用,对于Web服务器来说都是常用的操作,你准能用的上!
让我们先尝试使用Caddy进行入门,指定Caddy运行在2015端口,并返回“Hello,world!”信息。
直接使用caddy命令将输出Caddy的常用命令,基本看介绍就知道如何使用了,标出来的是常用命令;
使用caddystart命令可以让Caddy服务在后台运行;
Caddy默认使用JSON格式的配置文件,但由于JOSN格式配置书写比较麻烦,又提供了Caddyfile这种更加简洁的配置形式,使用如下命令能自动把Caddyfile转化为JSON配置;
caddyadapter
我们可以先创建一个名称为Caddyfile的文件,文件内容如下,然后使用caddyadapter将它转换为JSON配置,再使用caddyreload使配置生效,该配置将监听2015端口,并返回Hello,world!;
respond"Hello,world!"
然后我们使用curl命令访问localhost:2015,将返回指定的信息;
当然我们还可以使用Caddy提供的AdminAPI来查看配置信息,使用如下命令即可;
curllocalhost:2019/config/
当前JSON配置如下,如果你直接使用JSON配置的话需要书写如下配置,使用Caddyfile确实方便很多!
"body":"Hello,world!",
"handler":"static_response"
}
反向代理就是当请求访问你的代理服务器时,代理服务器会对你的请求进行转发,可以转发到静态的资源路径上去,也可以转发到动态的服务接口上去。我们以代理域名为例,讲解如何进行静态和动态代理。
静态代理就是将请求代理到不同的静态资源路径上去,这里我们将对docs.macrozheng.com的请求代理到我的文档项目中,对mall.macrozheng.com的请求代理到mall的前端项目中。
首先我们修改下本机的host文件:
192.168.3.106docs.macrozheng.com192.168.3.106mall.macrozheng.com
然后将我们的文档项目和mall前端项目上传到Caddy的html目录中去,并进行解压操作:
修改Caddyfile文件,使用如下配置,修改完成后使用caddyreload命令刷新配置;
http://docs.macrozheng.com{
root*/mydata/caddy/html/docs
http://mall.macrozheng.com{
root*/mydata/caddy/html/mall
}
如果你的Caddyfile文件格式不太合格的话,会出现如下警告,直接使用caddyfmt--overwrite格式化并重写配置即可解决;
通过docs.macrozheng.com即可访问部署好的文档项目了:
通过mall.macrozheng.com即可访问到部署好的前端项目了。
动态代理就是把代理服务器的请求转发到另一个服务上去,这里我们将把对api.macrozheng.com的请求代理到演示环境的API服务上去。
首先我们修改下本机的host文件,添加如下规则
192.168.3.106api.macrozheng.com
修改Caddyfile文件,使用如下配置,修改完成后使用caddyreload命令刷新配置;
http://api.macrozheng.com{
reverse_proxyhttp://admin-api.macrozheng.com
}
如果我们的服务器带宽比较低,网站访问速度会很慢,这时我们可以通过让Caddy开启Gzip压缩来提高网站的访问速度。这里我们以mall的前端项目为例来演示下它的提速效果。
我们需要修改Caddyfile文件,使用encode指令开启Gzip压缩,修改完成后使用caddyreload命令刷新配置;
http://mall.macrozheng.com{
root*/mydata/caddy/html/mall
}
有个比较大的JS文件压缩前是1.7M;
压缩后为544K,访问速度也有很大提示;
另外我们可以看下响应信息,如果有Content-Encoding:gzip这个响应头表明Gzip压缩已经启用了。
有的时候我们的网站更换了域名,但还有用户在使用老的域名访问,这时可以通过Caddy的地址重写功能来让用户跳转到新的域名进行访问。
我们需要修改Caddyfile文件,使用redir指令重写地址,修改完成后使用caddyreload命令刷新配置;
http://docs.macrozheng.com{
redirhttp://www.macrozheng.com
}
此时访问旧域名docs.macrozheng.com会直接跳转到www.macrozheng.com去。
有时候我们需要使用同一个域名来访问不同的前端项目,这时候就需要通过子目录来区分前端项目了。
比如说我们需要按以下路径来访问各个前端项目;
www.macrozheng.com访问后台项目www.macrozheng.com/app#访问移动端项目
我们需要修改Caddyfile文件,使用route指令定义路由,修改完成后使用caddyreload命令刷新配置。
http://www.macrozheng.com{
root/mydata/caddy/html/admin
root/mydata/caddy/html/app
root/mydata/caddy/html/www
}
首先我们需要修改域名的DNS解析,直接在购买域名的网站上设置即可,这里以docs.macrozheng.com域名为例;
请使用以下命令确认DNS解析记录是否正确,注意所配置的服务器的80和443端口需要在外网中可以正常访问:
curl"https://cloudflare-dns.com/dns-query?name=docs.macrozheng.com&type=A"\
-H"accept:application/dns-json"
修改Caddyfile配置文件,进行如下配置;
root*/mydata/caddy/html/docs
}
然后使用caddyrun命令启动Caddy服务器即可,是不是非常方便!
caddyrun
Docker支持
当然Caddy也是支持使用Docker进行安装使用的,其使用和直接在CentOS上安装基本一致。
首先使用如下命令下载Caddy的Docker镜像;
dockerpullcaddy
然后在/mydata/caddy/目录下创建Caddyfile配置文件,文件内容如下;
respond"Hello,world!"
之后使用如下命令启动caddy服务,这里将宿主机上的Caddyfile配置文件、Caddy的数据目录和网站目录挂载到了容器中;
dockerrun-p80:80-p443:443--namecaddy\
-v/mydata/caddy/Caddyfile:/etc/caddy/Caddyfile\
-v/mydata/caddy/data:/data\
-v/mydata/caddy/html:/usr/share/caddy\
-dcaddy
之后使用dockerexec进入caddy容器内部执行命令;
dockerexec-itcaddy/bin/sh
输入Caddy命令即可操作,之后的操作就和我们直接在CentOS上安装一样了。
以上就是Nginx的Web服务器caddy怎么使用的详细内容,更多请关注主机测评网其它相关文章!
本文来源:国外服务器--Nginx的Web服务器caddy怎么使用(nginxweb服务器的特点)
本文地址:https://www.idcbaba.com/guowai/5205.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 1919100645@qq.com 举报,一经查实,本站将立刻删除。



