Caddy VS Nginx,谁才是真正的王者

本文介绍了开源Web服务器Caddy2的特性,如默认启用HTTP/2和全站HTTPS,以及简单的配置文件和API支持。Caddy还具有API网关功能和丰富的插件生态。同时,提到了Caddy在Fedora、RHEL/CentOS及Debian等系统的安装方法,并提供了启动、停止和检查Caddy状态的命令。此外,文章通过两个实战案例展示了Caddy作为Web服务器托管静态资源和作为反向代理的角色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Caddy 2 is a powerful, enterprise-ready, open source web server with automatic HTTPS written in Go.

— 摘自 Caddy 官网

盘古开发框架 缺省使用 Caddy 来提供 WebServer 能力和 API 网关角色(反向代理)。(当然,直接换成 Nginx 也是可以的)

Caddy 特性

  • 缺省启用HTTP/2 协议,无需任何配置。
  • 缺省全站HTTPS,无需任何配置。(自动申请和续期证书)
  • 简单友好的配置文件,支持在线配置 API。
  • golang 开发,几乎无依赖,部署简单。
  • 充当 API Gateway, 反向代理后端多个 Web 节点。
  • 天生插件架构,社区插件丰富,且自定义插件简单(写个插件顺便蹭一下 golang 的热度)。

Nginx 特性

盘古开发框架 缺省使用 Caddy 而不是 Nginx,并不是说 Nginx 不够优秀。

Caddy 实战

安装

Fedora, RHEL/CentOS 8
$ dnf install 'dnf-command(copr)'
$ dnf copr enable @caddy/caddy
$ dnf install caddy
RHEL/CentOS 7
$ yum install yum-plugin-copr
$ yum copr enable @caddy/caddy
$ yum install caddy
Debian, Ubuntu, Raspbian
$ sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
$ curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo tee /etc/apt/trusted.gpg.d/caddy-stable.asc
$ curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
$ sudo apt update
$ sudo apt install caddy

常用命令

$ systemctl start[stop|restart] caddy
$ systemctl reload caddy //重新加载配置文件
$ systemctl status caddy //查看运行状态

实战一:Web Server

Web Server 托管静态资源,以部署盘古开发框架项目官网为例。https://pangu.pulanit.com

修改配置文件
# vi /etc/caddy/Caddyfile
pangu.pulanit.com {
        # Set this path to your site's directory.
        root * /var/www/pangu.pulanit.com
        encode gzip
        # Enable the static file server.
        file_server
}

静态资源文件上传到目录:/var/www/pangu.pulanit.com

域名解析

域名解析地址必须和上述配置文件中的域名保持一致即可。尝试访问:https://pangu.pulanit.com。可见,网站自动开启了HTTPS

实战二:反向代理

反向代理充当网关角色。详见官方文档

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值