您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# Linux系统下如何安装Caddy
## 前言
Caddy是一款现代化的开源Web服务器,以其简洁的配置、自动HTTPS和出色的性能而闻名。与Nginx或Apache等传统Web服务器相比,Caddy最大的特点是**自动申请和更新SSL证书**,同时支持HTTP/2、QUIC等协议。本文将详细介绍在Linux系统下安装Caddy的多种方法,并提供基本配置示例。
---
## 一、Caddy简介
### 1.1 核心特性
- **自动HTTPS**:通过Let's Encrypt自动申请和续期SSL证书
- **零配置启动**:默认配置即可满足基本需求
- **支持多种协议**:HTTP/1.1、HTTP/2、HTTP/3(QUIC)
- **模块化架构**:通过插件系统扩展功能
- **单文件部署**:不依赖外部运行时
### 1.2 适用场景
- 个人博客/网站
- API网关
- 反向代理
- 静态文件服务器
---
## 二、安装准备
### 2.1 系统要求
- 主流Linux发行版(Ubuntu/Debian/CentOS等)
- 64位系统(ARM/x86_64均可)
- 开放80/443端口(如需HTTPS)
### 2.2 权限要求
建议使用`root`或具有`sudo`权限的用户操作
---
## 三、安装方法
### 3.1 官方脚本安装(推荐)
```bash
# 执行一键安装脚本
sudo apt update && sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy
验证安装:
caddy version
适用于自定义安装路径或特殊架构:
# 下载最新版(替换版本号)
VERSION="2.6.4"
wget "https://github.com/caddyserver/caddy/releases/download/v${VERSION}/caddy_${VERSION}_linux_amd64.tar.gz"
# 解压并安装
tar -xzf caddy_*.tar.gz
sudo mv caddy /usr/local/bin/
sudo setcap 'cap_net_bind_service=+ep' /usr/local/bin/caddy
docker run -d \
--name caddy \
-p 80:80 \
-p 443:443 \
-v $PWD/Caddyfile:/etc/caddy/Caddyfile \
-v caddy_data:/data \
caddy:latest
/etc/caddy/Caddyfile
/var/www/html
example.com {
root * /var/www/html
file_server
}
api.example.com {
reverse_proxy localhost:3000
}
(common_settings) {
encode gzip
log
}
site1.com {
import common_settings
root * /sites/site1
file_server
}
site2.com {
import common_settings
reverse_proxy 127.0.0.1:8080
}
# 启动服务
sudo systemctl start caddy
# 设置开机自启
sudo systemctl enable caddy
# 查看状态
sudo systemctl status caddy
journalctl -u caddy -f
在全局配置中添加:
{
servers {
protocol {
experimental_http3
}
}
}
example.com {
tls /path/to/cert.pem /path/to/key.pem
}
caddy hash-password --plaintext "你的密码"
配置:
protected.example.com {
basicauth {
username JDJhJDE0JGE...
}
}
错误提示:bind: address already in use
解决方案:
sudo ss -tulnp | grep ':80'
sudo kill <PID>
检查: 1. 域名解析是否正确 2. 80端口是否开放 3. 防火墙设置
在/etc/security/limits.conf
中添加:
* soft nofile 1048576
* hard nofile 1048576
通过xcaddy
构建自定义版本:
go install github.com/caddyserver/xcaddy/cmd/xcaddy@latest
xcaddy build \
--with github.com/caddyserver/ntlm-transport
:8080 {
metrics
}
访问http://localhost:8080/metrics
获取Prometheus格式数据
建议搭配goaccess
工具:
cat /var/log/caddy/access.log | goaccess -a -o report.html
Caddy以其极简配置和自动化HTTPS成为轻量级Web服务器的优秀选择。通过本文介绍的安装方法和配置示例,您应该能够快速搭建起生产可用的Web服务。对于更复杂的需求,建议参考官方文档。
注意事项: 1. 生产环境建议使用systemd管理进程 2. 定期检查
/etc/caddy/Caddyfile
语法:caddy validate
3. 重大更新前备份/etc/caddy
和/var/lib/caddy
目录 “`
(全文约1800字)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。