本文译自Caddy官方教程文档,是一篇简单基础的Caddy入门教程
本文适用于Linux系统

本教程将帮助您第一次安装,运行和配置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官方文档


本文被阅读了:692次

作者头像
关于  Ailitonia

正因站在了巨人的肩膀上,才越发觉得自己渺小。不求成为巨人,但求与其同行。 把自己所见所闻,记录下来。

→查看所有由Ailitonia发布的文章