3. caddy的配置方式

作为概览,在本节我们从一些基础的方面展示如何使用caddy。

caddy的配置和大多数的web server不太一样。有三种不同的配置方式:

  1. JSON

    caddy的原生配置是JSON格式。使用JSON格式来配置caddy可以实现它的全部功能。如果不喜欢JSON的配置方式,也可是使用caddy所具备的“适配器(adapter)”功能来使用其他的配置格式。其中,Caddyfile就是“adapter”的一种。另外,caddy也可以通过使用“nginx adapter”来使用nginx的配置文件。

  2. Caddyfile

    这是一种比较实用和便捷的方式。在这种方式下,使用Caddyfile这个文件来配置系统。这个文件的配置语法比较容易阅读,并且也能够胜任大部分的使用场景。它的样子如下:

      1 example.com
      2 
      3 root * /var/www/wordpress
      4 php_fastcgi unix//run/php/php-version-fpm.sock
      5 file_server

    这个文件可以保存于系统中的任何位置。只需在启动时使用如下命令进行指定就可以了。

    caddy adapt --config /path/to/Caddyfile

    caddy使用的配置文件是JSON格式的,其他格式的文件,例如Caddyfile,需要使用配置适配器将其转换为JSON格式。caddy利用这种机制可以使用其他类型的配置文件,目前支持8种:Caddyfile、nginx的配置文件、jsonc、josn5、yaml、cue、toml、及hcl

  3. caddyAPI

    caddy可以通过一个管理端点(administration endpoint)来配置,这个管理端点是一套通过HTTP协议使用来使用的REST API。这个“管理端点”可以在配置文件中进行配置。它的默认使用地址是:localhost:2019

上面所说到的,是caddy的三种配置和管理的方式。在后面的章节会陆续进行说明。

如果是使用某种包管理方式安装的caddy,那么caddy已经是一个系统服务了,可能已经启动了。在开始这节的内容之前,建议先将caddy停止运行。可以使用caddy stop命令来停止caddy服务。下面,我们通过如下的几个实验来对caddy进行一个大致的了解。