我把 Nginx 换成了 Caddy,用了才知道真香!
用了这么多年 Nginx,本来也没觉得它有啥不好,直到我一次部署新项目时偶然用了下 Caddy,才发现这玩意儿真的不是“平替”,而是“降维打击”。
这篇文章就来聊聊:
为什么我放弃了 Nginx
Caddy 到底爽在哪里
哪些人适合用,哪些人别轻易尝试
为什么我考虑替代 Nginx?
Nginx 虽然稳定、通用,但问题也越来越明显:
- 手动配置 HTTPS,繁琐 + 易错
- 配置文件动不动几十行,一点错服务起不来
- 改配置要重启,生产环境压力山大
特别是需要管理多个 SSL 域名时,维护成本越来越高。于是我试了下传说中的「自动 HTTPS」神器:Caddy。
Caddy 到底强在哪?
1. 自动 HTTPS,真 · 零配置
只写一行配置,SSL 自动就搞定了:
mydomain.com {
reverse_proxy localhost:3000
}
- 自动申请证书
- 自动配置 HTTPS
- 自动续签,永不操心
2. 配置简单到离谱
Nginx 配置(我写过太多了)
server {
listen 443 ssl;
server_name mydomain.com;
ssl_certificate /etc/nginx/certs/fullchain.pem;
ssl_certificate_key /etc/nginx/certs/privkey.pem;
location / {
proxy_pass http://localhost:3000;
}
}
Caddy 配置(一眼看懂)
mydomain.com {
reverse_proxy localhost:3000
}
3. 热重载 + 内建现代功能
- 改配置实时生效,不用重启服务
- 原生支持 HTTP/3、WebSocket、压缩、缓存控制
- 插件机制丰富,可加 JWT、认证、Cloudflare DNS 等
说白了,Caddy 是为了现代 Web 场景设计的,而不是一切都靠插件和模块打补丁。
实战演示:3 步部署 HTTPS 网站
我给新项目部署时,全流程只用了 3 步:
1 安装 Caddy:一行命令搞定
2 写个 Caddyfile
3 执行 caddy run
SSL 自动生效,证书来自 Let's Encrypt。浏览器绿锁,毫无压力。
哪些人该用?哪些人别碰?
适合你用 Caddy 的情况:
- 个人博客、前端项目、轻量 API 网关
- 独立开发者、小团队项目部署
- 想要自动 HTTPS + 免运维配置
不建议直接替换的情况:
- 超大规模复杂架构,要求细粒度配置
- 对性能调优极致要求的企业后端
写在最后:Caddy,不是替代,而是更合适
我并不觉得 Caddy 一定“干掉”了 Nginx,后者仍然强大、稳定、生态成熟。
但如果你希望部署省事、配置简单、SSL 自动、服务平滑重载,那 Caddy 真的是那个“用了就回不去”的家伙。
你在用什么 Web Server?
欢迎留言聊聊你用 Nginx、Caddy 或其他 Web Server 的经历!
也欢迎点赞、转发、收藏,等下次你再部署项目时也试试 Caddy 。