LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

Caddy Web服務器初體驗:簡潔高效的現代選擇

admin
2025年8月13日 16:54 本文熱度 491

Caddy簡介

Caddy是一款使用Go語言編寫的開源Web服務器和反向代理服務器,旨在提供易于使用且高效的性能。它支持HTTP/HTTPS協議,并可作為反向代理服務器、負載均衡器和WebSocket支持等。Caddy的靈活性和模塊化架構使其適合容器化環境和微服務架構。

Caddy的主要特點

  1. 默認啟用HTTPS:Caddy集成了Let’s Encrypt,可以自動申請、更新和管理SSL證書,無需額外操作。
  2. 配置簡潔:Caddy的配置文件(Caddyfile)簡潔易讀,降低了新手的學習成本。
  3. 動態配置管理:通過REST API,可以在運行時更改Caddy的配置,無需重新啟動服務器。
  4. 現代化特性:支持Prometheus metrics,使用結構化的JSON作為訪問日志。

Caddy與Nginx的對比

特性CaddyNginx
配置方式Caddyfile, JSON, REST APINginx配置文件(nginx.conf)
自動HTTPS支持是,默認啟用自動TLS證書管理否,需手動配置SSL證書
適用范圍7層(應用層),反向代理和Web服務,內置負載均衡支持4層(傳輸層)和7層(應用層)反向代理、負載均衡等
擴展性插件化架構,支持擴展模塊化架構,支持靜態編譯的模塊
性能較高(適合輕量應用)非常高(適合高并發應用)
配置簡潔性Caddyfile格式簡潔,易于上手配置相對復雜,靈活但不夠直觀
系統資源占用較低較低,適合高并發處理
編寫語言Go語言C語言
Access日志格式結構化,默認JSON格式,支持自定義非結構化,默認標準日志格式,支持自定義

Caddy的基本用法

安裝方式

  1. 二進制安裝:下載Caddy的二進制文件并移動到PATH下即可使用。
  2. Docker Compose安裝:使用Docker容器快速部署Caddy。

Docker Compose配置示例

version: "3.8"
services:
  caddy:
    image: caddy:latest
    container_name: caddy
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile
      - caddy_data:/data
      - caddy_config:/config
    environment:
      - ACME_AGREE=true

volumes:
  caddy_data:
  caddy_config:

配置方式

  1. Caddyfile配置:簡潔易讀的配置文件。
  2. JSON配置:適合高級使用場景和動態配置。
  3. REST API配置:動態管理和變更配置。

Caddyfile示例

example.com {
    reverse_proxy 127.0.0.1:3000
    log {
        output file /var/log/caddy/access.log {
            mode 644
        }
        format json
    }
}

JSON配置示例

{
  "apps": {
    "http": {
      "servers": {
        "example": {
          "listen": [":80"],
          "routes": [
            {
              "match": [
                {
                  "host": ["example.com"]
                }
              ],
              "handle": [
                {
                  "handler": "static_response",
                  "body": "Hello, world!"
                }
              ]
            }
          ]
        }
      }
    }
  }
}

常見配置示例

1、直接回復

localhost:2017 {
    respond "Hello, world!"
}

2、配置靜態文件

localhost:2016 {
    root * /var/www/mysite
    file_server {
        browse
        hide .git
        precompressed zstd br gzip
    }
}

3、配置反向代理

example.com {
    reverse_proxy localhost:8000
}

4、配置負載均衡

example.com {
    reverse_proxy / backend1.example.com backend2.example.com
}

Caddy的持久化存儲

  1. 配置文件:自定義配置文件需要放置在合理的位置。
  2. 數據目錄:用于存儲TLS證書和其他關鍵數據。
  3. 配置目錄:保存最后一次有效的配置。

在使用Docker容器時,需要掛載這些目錄以確保數據持久化。

volumes:
  - ./Caddyfile:/etc/caddy/Caddyfile
  - caddy_data:/data
  - caddy_config:/config

作者:程序員小jobleap
鏈接:https://juejin.cn/post/7488522714874757161
來源:稀土掘金
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

該文章在 2025/8/13 16:54:03 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
特级婬片国产在线观看 | 一级性做久久久久久 | 日本亚欧精品在线视频 | 色综合久久久久久久久久久 | 天天在线天天看精品在线观看 | 中文字幕制服丝袜一区二区 |