= caddy == 介绍 Caddy是一款基于Go语言编写的强大且可扩展的平台,可以给你的站点、服务和应用程序提供服务。 大多数人将Caddy用作Web服务器或代理,但Caddy的本质是诸多服务器的服务器。在安装了必要的模块后,它就可以充当长时间运行的进程的角色! 基于Caddy的API,它的配置能被动态修改,且能导出来。虽然不需要配置文件,但你仍然可以使用它们;大多数人还是最喜欢通过Caddyfile对Caddy进行配置。虽然通过配置适配器可以对Caddy使用多种的配置文件格式,但它的原生配置语言是JSON。 Caddy已经编译好了所有主流平台的版本,且没有运行时依赖项。 == 安装 [source,bash] ---- brew install caddy # 安装 caddy caddy version # 查看 caddy 版本 ---- == 修改服务配置文件 该文件用于在执行 brew services/sudo brew services 命令时作为模版文件复制到相关自动执行目录中(仅适用于 mac OS): [source,bash] ---- # 当前用户登录时自动执行 # 将 /opt/homebrew/opt/caddy/homebrew.mxcl.caddy.plist 复制到 ~/Library/LaunchAgents/homebrew.mxcl.caddy.plist brew services start caddy # 系统启动后自动执行 # 将 /opt/homebrew/opt/caddy/homebrew.mxcl.caddy.plist 复制到 /Library/LaunchDaemons/homebrew.mxcl.caddy.plist sudo brew services start caddy ---- [source,bash] ---- vi /opt/homebrew/opt/caddy/homebrew.mxcl.caddy.plist # 修改以下部分的内容 ---- [source,xml] ---- ProgramArguments /opt/homebrew/opt/caddy/bin/caddy run --config /opt/homebrew/etc/Caddyfile <1> RunAtLoad StandardErrorPath /opt/homebrew/var/log/caddy.log <2> StandardOutPath /opt/homebrew/var/log/caddy.log <3> ---- <1> Caddyfile 配置文件路径 <2> caddy 错误日志输出文件路径 <3> caddy 日志输出文件路径 修改后的内容如下: [source,xml] ---- ProgramArguments /opt/homebrew/opt/caddy/bin/caddy run --config /Users/wangshaoping/wspsc/software/homebrew/caddy/Caddyfile RunAtLoad StandardErrorPath /Users/wangshaoping/wspsc/software/homebrew/caddy/log/caddy.log StandardOutPath /Users/wangshaoping/wspsc/software/homebrew/caddy/log/caddy.log ---- == 修改 Caddyfile 配置文件 [source,bash] ---- # 通过上述 homebrew.mxcl.caddy.plist 文件中配置的 --config 指定的 Caddyfile 配置文件路径,修改 Caddyfile 配置文件 vi /Users/wangshaoping/wspsc/software/homebrew/caddy/Caddyfile ---- 修改后的内容如下: [source,bash] ---- # 网站服务 :80 { root * /Users/wangshaoping/wspsc/software/webserver/www file_server browse } # jrebel 激活反向代理服务 # 通过访问 localhost:8888 就相当于访问 idea.lanyus.com 网站(该网站可以用于破解 jrebel 和 idea) :8888 { reverse_proxy idea.lanyus.com { header_up Host {upstream_hostport} } } ---- == 启动、停止服务 [source,bash] ---- brew services start caddy # 启动 caddy 服务 brew services stop caddy # 停止 caddy 服务 brew services restart caddy # 重启 caddy 服务 ----