Caddy: различия между версиями

Перейти к навигации Перейти к поиску
нет описания правки
Нет описания правки
Нет описания правки
Строка 37: Строка 37:


Сборка происходит с помощью команды <code>xcaddy build</code>, а плагины перечисляются с помощью <code>--with</code>.
Сборка происходит с помощью команды <code>xcaddy build</code>, а плагины перечисляются с помощью <code>--with</code>.
Соберём caddy с двумя плагинами на [[#Адаптер конфигурации|адаптеры конфигурации]]: nginx и yaml.


  $ xcaddy build \
  $ xcaddy build \
Строка 56: Строка 57:
  # rm /usr/bin/caddy && cp /home/sysadmin/caddy /usr/bin/
  # rm /usr/bin/caddy && cp /home/sysadmin/caddy /usr/bin/


Проверим работоспособность caddy:
Проверим работоспособность caddy и убедимся, что нужные адаптеры конфигурации добавлены:


  $ caddy list-modules | grep adapters
  $ caddy list-modules | grep adapters
Строка 212: Строка 213:
       Caddyfile: Это стандартный формат конфигурации Caddy. Он основан на простом текстовом формате и позволяет определить веб-сервер и его параметры в удобном для чтения виде. Пример Caddyfile:
       Caddyfile: Это стандартный формат конфигурации Caddy. Он основан на простом текстовом формате и позволяет определить веб-сервер и его параметры в удобном для чтения виде. Пример Caddyfile:
       <pre>
       <pre>
example.com {
localhost:80 {
     root /var/www
     root * /var/www/html
     gzip
     file_server
    log /var/log/access.log
}
}
</pre>
</pre>
Строка 223: Строка 223:
       <pre>
       <pre>
{
{
    "apps": {
  "apps": {
        "http": {
    "http": {
            "servers": {
      "servers": {
                "example": {
        "srv0": {
                    "listen": [":80"],
          "listen": [
                    "routes": [
            ":80"
                        {
          ],
                            "handle": [{
          "routes": [
                                "handler": "file_server",
            {
                                "root": "/var/www"
              "match": [
                            }],
                {
                            "match": [{
                  "host": [
                                "host": ["example.com"]
                    "localhost"
                            }]
                  ]
                        }
                }
                    ],
              ],
                    "logs": {
              "handle": [
                        "default_logger_name": {
                {
                            "writer": {
                  "handler": "vars",
                                "filename": "/var/log/access.log"
                  "root": "/var/www/html"
                            }
                },
                        }
                {
                    }
                  "handler": "file_server"
                 }
                 }
              ]
             }
             }
          ]
         }
         }
      }
     }
     }
  }
}
}
</pre>
</pre>
Строка 256: Строка 260:
       YAML: Caddy также поддерживает конфигурацию в формате YAML. YAML-файлы обычно более читаемы и удобны в использовании, особенно для людей, знакомых с YAML-синтаксисом. Пример YAML-конфигурации:
       YAML: Caddy также поддерживает конфигурацию в формате YAML. YAML-файлы обычно более читаемы и удобны в использовании, особенно для людей, знакомых с YAML-синтаксисом. Пример YAML-конфигурации:
       <pre>
       <pre>
http:
apps:
   servers:
   http:
     example:
     servers:
       listen:
       srv0:
        - :80
        listen:
      routes:
          - ':80'
        - match:
        routes:
            host:
          - match:
              - example.com
              - host:
          handle:
                  - localhost
            - handler: file_server
            handle:
              root: /var/www
              - handler: vars
      logs:
                root: /var/www/html
        default_logger_name:
              - handler: file_server
          writer:
            filename: /var/log/access.log
</pre>
</pre>
   </li>
   </li>

Навигация