百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

为什么越来越多的人放弃 Nginx,选择 Caddy?

off999 2025-02-18 12:46 31 浏览 0 评论

1. 什么是 Caddy?

Caddy 是一款现代化的 Web 服务器,专为简化开发者和运维人员的工作流程而设计。它最大的特点是自动化和易用性,尤其是内置的自动 HTTPS 功能,使得部署安全的 Web 服务变得前所未有的简单。

相比于传统的 Web 服务器(如 Nginx、Apache),Caddy 的目标是通过更简洁的配置、更智能的功能来减少人为出错的可能性,并提升部署效率。

支持 API 和配置文件两种方式:

您可以在同一台服务器上同时使用 API 和配置文件,但我们不建议这样做:最好有一个真相来源。

API

配置文件

使用 HTTP 请求进行配置更改

使用 shell 命令进行配置更改

易于扩展

难以扩展

难以手工管理

易于手工管理

Caddyfile的结构


要点

  • ? 一个可选的 全局选项块 可以是文件中第一个内容。
  • ? 代码段 或 命名路由 可以选择性地出现在下一个位置。
  • ? 否则,Caddyfile 的第一行始终是将要服务的站点的 地址。
  • ? 所有 指令 和 匹配器 必须放在站点块中。站点块之间没有全局范围或继承关系。
  • ? 如果只有一个站点块,则其花括号 { } 是可选的。

Caddyfile 由至少一个或多个站点块组成,这些站点块始终以一个或多个站点的地址开头。出现在地址之前的任何指令都会让解析器感到困惑。


2. Caddy 的主要功能亮点

自动 HTTPS

Caddy 是第一款默认支持自动 HTTPS 的 Web 服务器。通过内置与 Let's Encrypt 的集成,Caddy 能够自动生成、管理和续订 SSL 证书。用户无需手动设置复杂的证书路径或担心证书过期问题。

示例: 在配置文件中,仅需指定域名:

example.com  
file_server  

Caddy 会自动为 example.com 配置 HTTPS,无需额外操作。

简单配置文件

Caddy 使用直观易懂的配置语法,让初学者也能快速上手。相比 Nginx 的复杂配置,Caddy 的配置文件更短小精悍。

示例对比: 在 Nginx 中配置一个静态文件服务:

server {
    listen 80;
    server_name example.com;
    root /var/www/html;
    location / {
        try_files $uri $uri/ =404;
    }
}

在 Caddy 中实现相同功能,仅需:

example.com  
root * /var/www/html  
file_server  

内置反向代理

Caddy 内置反向代理功能,支持负载均衡、健康检查和动态路由,非常适合现代微服务架构。用户可以轻松配置 Caddy 作为网关,无需安装额外插件。

示例

example.com {  
    reverse_proxy /api/* 127.0.0.1:8080  
}  

通过 API 方式配置更为简单:

caddy reverse-proxy \
 --from example.com \
 --to https://127.0.0.1:9000 \
 --change-host-header

丰富的插件支持

Caddy 提供模块化架构,允许开发者轻松扩展其功能。官方和社区维护了许多插件,如文件缓存、认证管理和日志分析工具。

支持多种协议

除了 HTTP 和 HTTPS,Caddy 还支持 gRPC、HTTP/2 和 HTTP/3 等现代协议,提供更高效的传输性能。

高效性能和轻量化设计

Caddy 使用 Go 语言编写,启动速度快,占用资源少,特别适合云原生和容器化部署场景。


3. Caddy 与 Nginx 的对比

特性

Caddy

Nginx

易用性

配置简单,几乎零门槛,自动处理 HTTPS

配置灵活,但语法复杂,学习曲线较陡

HTTPS 支持

默认自动 HTTPS,免去证书管理

需手动配置证书和续订

插件扩展

模块化设计,支持动态加载插件

插件需编译到核心模块,使用不够灵活

性能表现

性能优异,适合现代协议

长期优化的高性能,适合高并发场景

社区生态

社区逐渐壮大,官方维护活跃

历史悠久,社区广泛,生态成熟


4. 使用 Caddy 的简单教程

安装 Caddy

安装 Caddy 十分简单,以下是常见的安装方法:

  • ? 通过包管理器(适用于 Linux 系统):
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
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

配置 Caddy 文件

Caddy 的核心配置文件通常命名为 Caddyfile。以下是一个基础示例:

example.com {  
    root * /var/www/html  
    file_server  
}  

启动和测试

通过以下命令启动 Caddy:

caddy run  

访问 http://example.com,您即可看到网站成功运行!


5. 哪些场景适合使用 Caddy?

  • ? 中小型项目快速部署:无需深入研究复杂配置文件,即可实现高质量服务。
  • ? HTTPS 必备场景:自动化证书管理,省时省力。
  • ? 现代微服务架构:内置反向代理,支持多协议和动态负载均衡。
  • ? 个人开发者和小团队:对技术门槛要求低,能快速实现生产级服务。

相比之下,如果您的项目需要极高的性能优化或者复杂的企业级流量管理,Nginx 可能是更合适的选择。


如果您的项目不需要高并发和复杂流量管理,Caddy 足以替代 Nginx 并提供极好的使用体验;但在更复杂的生产环境中,Nginx 仍然是不可替代的强大工具。

文档:https://caddyserver.com.cn/docs

Github:https://github.com/caddyserver/caddy

相关推荐

u盘莫名其妙要格式化(u盘总是要格式化什么意思)

如果您在使用U盘时突然收到提示需要格式化的消息,这可能是由于以下原因之一引起的:U盘感染病毒:U盘中可能存在恶意病毒,这些病毒可能会导致U盘无法正常使用。当您尝试打开U盘时,系统会提示您进行格式化操作...

win7家庭版原版(win7家庭版价格)

你的win7旗舰版应该是个盗版软件,在你使用的过程中你可能触碰到了后台升级,升级完以后就变成了家庭版了,在你不知不觉中被改变的,厄这个软件属于盗版的,厄升级完以后没什么大区别,这个旗舰版家庭版在家里面...

win10自动更新失败怎么办(win10自动升级失败)

安装更新失败有许多原因。WindowsUpdate需要能够扫描您的计算机以了解需要哪些更新,并能够下载和安装这些更新。如果某个阶段遇到问题,则可能阻止某个更新安装到计算机中。有关错误或失败的详细信...

截图的几种方法(截图的几种方法有哪些)

 第一种截图方式:按printScreen键。按一下键盘上的printScreen键以后,整个屏幕会被截取下来,截图会默认保存在剪贴板中。第二种截图方式:使用微信截图。进入聊天界面,我们会发...

电脑装了两个系统怎么切换(电脑安装2个系统怎么更换启动)

1.点击运行打开电脑点击左下角的开始菜单栏选项,右击鼠标在序列栏中选择运行打开。2.输入msconfig接着在运行的输入框中输入msconfig点击确定即可打开系统配置。3.点击引导打开系统配置的页面...

linux系统哪个版本好用(最好linux系统版本)

个人比较推荐Debian这个发行版本。DebianGNU/Linux于1993年首次公布,至今已经有近30年历史了。当然其他版本比如openSUSE,Slackware,ArchLinux,Ubu...

win10激活在哪里查看(win10激活时间在哪里看)

在Windows10中,您可以通过以下方法查看激活状态:方法1:使用“设置”应用1.点击屏幕左下角的“开始”按钮,然后点击“设置”(齿轮图标)。2.在设置窗口中,点击“系统”图标。3.在“系统...

官方win10dll文件修复工具(官方win7dll文件修复工具)

当电脑丢失dll文件时,可以采用以下几种方法进行一键修复:从回收站还原:如果是不小心误删了一些计算机文件,导致电脑出现异常的情况时,首先就可以去回收站找回dll文件,如果文件还在,就可以通过还原操作来...

qq所有历史旧版本大全(qq历史版本一览表)

有2种方法。一种是:你是QQ会员。你可以把旧版打开,聊天记录上传。然后打开新的QQ,下载。第2种是:你在硬盘上装了QQ软件,然后你就点卸载(uninst),把原来的卸了。然后按原位置覆盖,装上06版。...

电脑显示器分辨率怎么调(显示分辨率无法调整)

1、以win7为例,首先右键点击桌面,在右键菜单中直接显示了屏幕分辨率的选项,用鼠标点击一下这个选项。2、在分辨率设置选项页面中,有一个分辨率的选项,点击一下这个选项,上面默认显示的数值是你现在的屏幕...

8系统(8系统点检控制包含什么)

WIndows8系统是微软目前最新的操作系统,Moto的图形界面设计,使很多已经习惯于早期windows系统的用户难以接受,Windows8是一个向平板和桌面系统妥协的产物,存在着相当多的利弊。...

电脑软件管家(电脑软件管家在哪里找到)

电脑管家有着最大的安全云库,全新的杀毒引擎,深度清理电脑垃圾,为电脑重回巅峰状态,更有账号宝专版,10倍提升QQ防盗号能力,是很好用的。就自己而言,在电脑上用的是腾讯电脑管家这个第三方系统安全软件,管...

office2010破解(office2010破解密钥)
  • office2010破解(office2010破解密钥)
  • office2010破解(office2010破解密钥)
  • office2010破解(office2010破解密钥)
  • office2010破解(office2010破解密钥)
迅雷种子搜索器(迅雷种子搜索器手机版下载)

    迅雷种子搜索方法:    1.在开始菜单栏或者到文件的安装路径文件夹中找到P2P种子搜索器。&nb...

手机怎么解压文件(苹果手机怎么解压文件)

手机解压文件方法:1、首先,在手机中找到文件管理,打开文件管理。2、打开文件管理之后找到压缩包,然后打开。3、打开安装包之后,选择需要的文件,。4、接下来找到“解压至”,点击“解压至”。5、点击之后,...

取消回复欢迎 发表评论: