486 字
2 分钟
Caddy简明安装&配置教程
年轻人的第一款web服务器Caddy,简单易用,支持自动申请证书,自动更新证书,妈妈再也不用担心我不会配置https了!
安装
Debian系安装(Debian/Ubuntu/Raspbian等)
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-httpscurl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpgcurl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.listsudo apt updatesudo apt install caddyCentOS系安装(CentOS/Fedora/RedHat等)
Fedora 或 RHEL/CentOS 8
dnf install 'dnf-command(copr)'dnf copr enable @caddy/caddydnf install caddyRHEL/CentOS 7
yum install yum-plugin-copryum copr enable @caddy/caddyyum install caddyArch系安装(Arch/Manjaro/Parabola等)
pacman -Syu caddyDocker安装
docker pull caddyHomebrew(MacOS)安装
brew install caddy自行编译安装
安装Go
自行访问Go官网根据指引进行安装
编译安装
git clone https://github.com/caddyserver/caddy.gitcd caddy/cmd/caddygo build运行
caddy run基本配置
在你喜欢的位置新建一个Caddyfile文件,或使用默认的Caddyfile文件(linux系默认为/etc/caddy/Caddyfile)
vim Caddyfile假设你的域名为example.com,你在127.0.0.1<8080上运行了一个web服务>8080上运行了一个web服务>,且你已经把域名解析到了你的服务器上,你想要通过example.com访问你的web服务,那么你的Caddyfile应该是这样的:
example.com { reverse_proxy http://127.0.0.1:8080}接下来使用caddy reload命令重载配置文件
caddy reload现在你就可以通过example.com访问你的web服务了,并且caddy已经为你申请了证书,默认启用了https,此时已经满足了大部分人的需求了,如果这不是你想要的,可以继续往下看。
额外配置
为你的网站启用gzip
example.com { encode gzip reverse_proxy http://127.0.0.1:8080}如果你还想更进一步,请查阅Caddy官方文档
访问你的静态网页
example.com { root * /var/www/html file_server}从端口转发
:80 { reverse_proxy localhost:8080}不启用https
example.com:80 { reverse_proxy http://127.0.0.1:8080}添加日志
example.com { reverse_proxy http://127.0.0.1:8080 log { output file /var/log/caddy/access.log }}部署php网站
example.com { root * /var/www/html php_fastcgi unix//run/php/php-version-fpm.sock file_server}代理到指定路径
example.com { reverse_proxy /api/* http://127.0.0.1:8080}重定向
example.com { redir https://www.example.com{uri}}
www.example.com { reverse_proxy http://127.0.0.1:8080}如果这些都不是你想要的,那么请查阅Caddy官方文档