caddy windows安装步骤

它是什么Caddy 是用 Go 编写的开源 Web 服务器,Windows 下从 GitHub Releases 下载静态二进制、放入 PATH、编写无后缀的 Caddyfile 即可运行

Caddy 是用 Go 编写的开源 Web 服务器,Windows 下从 GitHub Releases 下载静态二进制、放入 PATH、编写无后缀的 Caddyfile 即可运行,支持静态站点托管、反向代理与自动 HTTPS,也可通过 nssm 注册为 Windows 服务常驻。

👤
作者:谢林峰 | 更新:2026-10-05
软件信息
更新 2026-10-05

详细介绍

简介

Caddy 是一款用 Go 编写的开源 Web 服务器,采用静态二进制分发:从 GitHub Releases 下载可执行文件并放进 PATH 就能在 Windows 上运行,没有传统意义上的安装流程。它要解决的是本地站点托管与反向代理配置繁琐的问题——站点规则集中写在一个名为 Caddyfile 的无后缀文件里,同时具备零配置开启 HTTPS 的特点。适合在 Windows 10/11 上部署本地服务、把内网应用暴露出去,或想用更短配置替换 Nginx 的运维与开发者。

核心功能

  • 跨平台静态二进制:官方推荐的最简方式是从 GitHub Releases 下载 Caddy,把可执行文件放入 PATH,Windows、Linux 等平台通用一套流程。
  • 单文件配置:站点规则写在名为 Caddyfile 的无后缀文件中,例如 :8888 { root E:/work/A file_server } 即可让 8888 端口返回指定目录内容。
  • 自动 HTTPS:多篇实践文章提到它零配置实现 HTTPS 的特点,对外提供服务时不必手工申请和续期证书。
  • 反向代理:可在 Windows 下替代 Nginx 做带自动 HTTPS 的反向代理,把外部请求转给本机其他端口上的应用。
  • 服务化常驻:配合 nssm 可注册为 Windows 服务,点 Install service 后用 nssm start Caddy 启动,无需每次手动开窗口。
  • 插件可扩展:官方软件包只包含标准模块,需要第三方插件时可用 xcaddy 从源码构建,或使用官方下载页面生成所需构建。

使用场景

  • 本地静态站点预览:root 指向如 E:/work/A 的目录并启用 file_server,浏览器访问本机端口即可查看页面效果。
  • 内网服务对外暴露:把本地开发或家庭服务器上的应用放在反向代理后面,配合自动 HTTPS 对外提供访问入口。
  • 替换 Nginx 做反向代理:已有 Nginx 反代规则的场景,可改写为 Caddyfile 单文件配置,减少多处 include 的维护成本。
  • Windows 常驻服务:通过 nssm 注册服务后开机自动运行,适合长期跑在 Windows 机器上的网关或静态资源服务器。
  • 带定制插件的构建:需要官方包没有的第三方模块时,用 xcaddy 从源码构建或走官方下载页面生成对应二进制。

安装与获取步骤

  1. 访问官方安装文档页 https://caddyserver.com/docs/install 或 GitHub 仓库 https://github.com/caddyserver/caddy,按页面指引下载适用于 Windows 的静态二进制,具体文件名与版本以官方页面为准。
  2. 把下载到的可执行文件放到一个固定目录,参照 https://wst24365888.github.io/install-caddy/ 中的 Windows 环境变量步骤,将该目录加入系统 PATH,使任意命令行都能直接调用 caddy。
  3. 在准备作为站点根目录的位置旁新建文件,文件名就是 Caddyfile 且不带后缀,写入示例配置 :8888 { root E:/work/A file_server },按实际端口和目录修改。
  4. 打开命令行进入 Caddyfile 所在目录启动服务,具体启动参数以官方安装文档为准;启动后用浏览器访问本机 8888 端口验证是否返回目录内容。
  5. 需要开机常驻时,用 nssm 注册服务:在 nssm 界面点 Install service 按钮,回到命令行执行 nssm start Caddy,服务启动后不必重复手动拉起。

与同类方案的区别

  • 与 Nginx 相比:有文章直接用 Caddy 替换 Nginx 实现自动 HTTPS 反向代理,配置收敛到一个 Caddyfile;若依赖 Nginx 的成熟模块生态,则仍按原方案选择。
  • 与传统 Windows 软件相比:Caddy 以静态二进制分发,解压加 PATH 即可运行,没有图形化安装向导和卸载程序。
  • 与需要运行时的方案相比:它由 Go 编写,自带运行环境,Windows 上不必预装其他语言运行库。
  • 与自带包管理的平台相比:Debian、Ubuntu、Fedora 等有官方软件包,Windows 主要走二进制下载与环境变量方式,渠道不同但配置文件一致。

注意事项

  • 官方软件包只包含标准模块;要使用第三方插件,需用 xcaddy 从源码构建、使用官方下载页面,或自行部署到目标环境。
  • Caddyfile 文件名必须是 Caddyfile 且没有后缀,改名、加 .txt 或放错目录都会导致读不到配置。
  • 配置里的 root 要写成真实存在的 Windows 路径(如 E:/work/A),路径写错时页面不会返回预期文件。
  • 修改 PATH 环境变量后,已打开的命令行窗口不会自动生效,需关闭并重新打开窗口再执行命令。
  • 下载文件名、版本号与校验信息一律以官方页面为准,第三方转载页面可能滞后。
  • 用 nssm 注册的服务名要与启动命令中的名称一致(示例为 Caddy),名称对不上会启动失败。

更新记录

最近更新:2026-10-05

软件参数速览

本站更新时间2026-10-05

下载

常见问题

Windows 下去哪里下载 Caddy 可执行文件?

到官方安装文档页 caddyserver.com/docs/install 或 GitHub 仓库 caddyserver/caddy 的 Releases 下载静态二进制,具体文件名与版本以官方页面为准,下载后把可执行文件加入 PATH 即可。

Caddyfile 应该命名成什么、放在哪里?

文件名就是 Caddyfile,不带任何后缀,放在你启动 Caddy 的工作目录;改成 Caddyfile.txt 或放错目录会导致程序读不到配置。

想把 E:/work/A 目录通过 8888 端口提供出去怎么写?

写成 <code>:8888 { root E:/work/A file_server }</code>:冒号后是端口,块内 root 指定站点根目录,file_server 负责返回该目录下的文件。

已经把目录加进 PATH,命令行还是提示找不到 caddy?

环境变量改动对已打开的窗口不生效,关闭并重新打开命令行再执行;同时确认加入 PATH 的是 caddy.exe 所在目录,而不是它的上一级目录。

官方软件包能不能直接带上第三方插件?

不能,官方软件包只包含标准模块。需要第三方插件时可用 xcaddy 从源码构建,或使用官方下载页面生成对应构建,也可以自行部署。

想让 Caddy 开机自动运行该怎么做?

用 nssm 注册服务,在界面中点 Install service 按钮,然后回到命令行执行 nssm start Caddy 启动,服务起来后无需每次手动开窗口运行。

在 Windows 上用它替换 Nginx 做反向代理有什么取舍?

有实践文章用 Caddy 替换 Nginx 实现自动 HTTPS 反向代理,配置集中在一个 Caddyfile;若你依赖 Nginx 的成熟模块与既有运维习惯,则继续用 Nginx 更稳妥。

按步骤操作后浏览器打不开 8888 端口页面,怎么排查?

依次检查 Caddyfile 是否在启动目录、root 路径是否真实存在、端口是否被其他程序占用,以及命令行窗口是否为加入 PATH 之后新开的;启动参数以官方文档为准。

相关推荐