当前位置: 首页 > 工具软件 > Caddy > 使用案例 >

web服务器Caddy

毕衡
2023-12-01

caddy介绍

常用的Web服务器有IIS,Apache,Jboss,Nginx,Lighttpd,Zeus,Resin,Jetty,BEA WebLogic,还有一种就是最常用的Tomcat。
现在新介绍一种服务器,试用了一下Caddy,使用起来比Nginx优雅,基于Go语言开发。

caddy特性

  • 对比Nginx复杂的配置,其独创的Caddyfile配置非常简单;
  • 可以通过其提供的Admin API实现动态修改配置;
  • 默认支持自动化HTTPS配置,能自动申请HTTPS证书并进行配置;
  • 能够扩展到数以万计的站点;
  • 可以在任意地方执行,没有额外的依赖;
  • 采用Go语言编写,内存安全更有保证()。、

常用特性:Caddyfile配置简单,动态修改配置的

caddy安装

Caddy安装可以使用dnf直接在宿主机上安装,或者基于Docker在docker中进行配置使用。

宿主机安装

使用DNF工具安装无疑是最简单的,Docker安装方式之后也会介绍。

  • 使用如下命令通过yum安装Caddy,安装成功后Caddy会被注册成系统服务;
yum install yum-plugin-copr
yum copr enable @caddy/caddy
yum install caddy
  • 使用systemctl status caddy查看Caddy的状态,可以发现Caddy已被注册为系统服务,但是还没开启。

使用docker安装

  1. 下载镜像:
docker pull caddy
  1. 创建Caddyfile和挂载存放数据和静态资源的目录
# 配置文件: Caddyfile
# 数据:/usr/local/docker/config/caddy/data
# 静态资源: /usr/local/docker/config/caddy/html
  1. 创建容器,运行caddy
docker run -p 80:80 -p 443:443 --name caddy \
    -v /usr/local/docker/config/caddy/Caddyfile:/etc/caddy/Caddyfile \
    -v /usr/local/docker/config/caddy/data:/data \
    -v /usr/local/docker/config/caddy/html:/usr/share/caddy \
    -d caddy

docker run -p 80:80 -p 443:443 --name caddy -v /usr/local/docker/config/caddy/Caddyfile:/etc/caddy/Caddyfile -v /usr/local/docker/config/caddy/data:/data -v /usr/local/docker/config/caddy/html:/usr/share/caddy -d caddy

  1. 之后使用docker exec进入caddy容器内部执行命令
docker exec -it caddy /bin/sh

输入Caddy命令即可操作,之后的操作就和我们直接在CentOS上安装一样了。

caddy配置&使用&实现静态代理和反向代理

实现静态站点代理

# gzip 压缩指令
# 日志:路径
# 网站根目录
# tls 指令告诉 caddy 为网站开启 https 并自动申请证书,后面的 email 参数是告知 CA 申请人的邮箱。caddy 会默认使用 let's encrypt 申请证书并续约。 tls 也可以使用路径给出的证书 tls /etc/ssl/cert.pem /etc/ssl/key.pem
www.october2.top:80 {
  encode gzip
  root /home/website/hexo
  tls 980528586@qq.com
}
 类似资料: