本教程将帮助您第一次安装,运行和配置Caddy,即使您以前从未使用过Web服务器!虽然Caddy非常易于使用,但仍然希望您已经熟悉Linux的基本操作:
- 管理用户和文件权限
- 使用终端或命令行
- 配置你的防火墙
准备好了的话,我们就开始吧:
下载和安装
在Caddy官方下载页面或者Github中选择相应的版本下载,建议从官网下载。Caddy可以运行在几乎所有的操作系统和架构上,同时它还支持使用插件来定制。
#从Github下载Caddy的Linux 32位版本:
wget https://github.com/mholt/caddy/releases/download/v0.10.11/caddy_v0.10.11_linux_386.tar.gz
下载下来的文件是压缩文件,需要把它提取为Caddy二进制文件:
tar -xzf caddy*.tar.gz caddy
然后将Caddy二进制文件移动到bin文件夹中以方便我们执行:
mv ./caddy /usr/local/bin
当然你也可以根据自己的喜好决定Caddy的安装位置。
现在Caddy已经准备就绪了,让我们开始运行吧!
运行
默认情况下,Caddy将使用当前目录(它正在执行的目录,而不是二进制文件所在的文件夹)作为网站的根目录。
使用终端或命令行,切换到任意的文件夹或者网站所在的文件夹:
cd path/to/my/site
并直接运行Caddy来测试一下:
caddy
在浏览器中访问http://[你主机的IP地址]:2015,此时应当能看到您的网站。如果您看到404错误,那么表明Caddy正在工作,只是缺少了网站的文件而已。
测试完成后可以按Ctrl+C退出Caddy。
配置
您的网站以及准备就绪了,但我们还需要进行一点调整:
- 该站点正在端口2015上提供服务,而不是80(标准HTTP端口)。
- 该网站不受HTTPS保护。
我们将通过修改配置文件来配置您的站点。Caddy的默认配置文件是Caddyfile,它应当位于网站的根目录当中。
如果Caddyfile处于当前目录之外的其他目录中,则应当为Caddy指定Caddyfile的路径:
caddy -conf ../path/to/Caddyfile
Caddyfile格式
Caddyfile是一个配置Caddy如何运行的文本文件。
Caddy会在启动时自动寻找Caddyfile文件:
caddy
如果Caddyfile位于不同的位置或名称不同,则应当为Caddy指定Caddyfile的路径和文件名:
caddy -conf ../path/to/Caddyfile
Caddyfile的第一行始终是要提供服务的网站的地址。例如:
localhost:8080
站点地址后面的行以指令开始。指令是Caddy认可的关键字。例如,gzip是一个HTTP指令:
localhost:8080
gzip
指令可能有一个或多个参数:
localhost:8080
gzip
log ../access.log
一些指令需要更多的配置,但无法用一行写完。 对于这些指令,可以用一个块来设置更多参数。但请注意:末尾的大括号必须位于最后另起的一行:
localhost:8080
gzip
log ../access.log
markdown /blog {
css /blog.css
js /scripts.js
}
如果指令块留空,则应该完全省略大括号。
包含空格的参数必须用引号引起来””。
Caddyfile也可以有以#开头的注释:
# Comments can start a line
foobar # or go at the end
要使用单个Caddyfile配置多个站点,必须在每个站点周围使用大括号来分隔它们的配置:
mysite.com {
root /www/mysite.com
}
sub.mysite.com {
root /www/sub.mysite.com
gzip
log ../access.log
}
与指令一样,首个大括号必须位于定义地址一行的末尾,最后的花括号必须位于最后另起的一行中。所有指令都必须出现在网站的定义的块中。
对于共享相同配置的站点,应当指定多个地址:
localhost:8080, https://site.com, http://mysite.com {
...
}
网站地址也可以定义在特定路径下,或者在左侧用通配符代替单个域标签:
example.com/static, *.example.com {
...
}
请注意,站点地址会根据所的最长的前缀来决定。如果您的基本路径是一个目录,您需要以正斜杠 / 作为后缀。
在地址和参数中允许使用环境变量。它们必须用大括号括起来,并且可以使用Unix或Windows可变格式:
localhost:{$PORT}
root {%SITE_ROOT%}
Caddyfile的所有语法都适用于任何平台。单个环境变量不会扩展为多个参数/值。
以上就是最基本的Caddy的配置方法了,这已经足以让你建立一个简单的网站了。如果想要了解更多的内容,请参阅Caddy官方文档
本文被阅读了:7,769次