137 lines
2.9 KiB
Markdown
137 lines
2.9 KiB
Markdown
# Caddy 配置指南
|
||
|
||
## 配置文件位置
|
||
|
||
将 `Caddyfile` 复制到服务器的 Caddy 配置目录:
|
||
|
||
### 常见位置:
|
||
- Ubuntu/Debian: `/etc/caddy/Caddyfile`
|
||
- CentOS/RHEL: `/etc/caddy/Caddyfile`
|
||
- 用户目录: `~/Caddyfile`
|
||
|
||
## 部署步骤
|
||
|
||
### 1. 上传配置文件
|
||
```bash
|
||
# 将 Caddyfile 上传到服务器
|
||
scp docs/deployment/Caddyfile user@server:/etc/caddy/Caddyfile
|
||
```
|
||
|
||
### 2. 修复权限问题
|
||
```bash
|
||
# 上传权限修复脚本
|
||
scp docs/deployment/fix-caddy-permissions.sh user@server:~/
|
||
ssh user@server 'chmod +x fix-caddy-permissions.sh && ./fix-caddy-permissions.sh'
|
||
```
|
||
|
||
### 3. 创建日志目录
|
||
```bash
|
||
sudo mkdir -p /var/log/caddy
|
||
sudo chown caddy:caddy /var/log/caddy
|
||
```
|
||
|
||
### 4. 验证配置
|
||
```bash
|
||
sudo caddy validate --config /etc/caddy/Caddyfile
|
||
```
|
||
|
||
### 5. 重新加载配置
|
||
```bash
|
||
sudo systemctl reload caddy
|
||
```
|
||
|
||
### 6. 检查状态
|
||
```bash
|
||
sudo systemctl status caddy
|
||
```
|
||
|
||
## 配置说明
|
||
|
||
### 基本功能
|
||
- **域名**: `photography.iriver.top`
|
||
- **根目录**: `~/www/photography`
|
||
- **自动 HTTPS**: Caddy 自动获取和续期 SSL 证书
|
||
- **文件服务**: 直接提供静态文件服务
|
||
|
||
### 优化功能
|
||
- **Gzip 压缩**: 减少传输大小
|
||
- **缓存控制**: 静态资源长期缓存,HTML 短期缓存
|
||
- **安全头**: 防止常见安全问题
|
||
- **错误处理**: 404 错误重定向到 404.html
|
||
|
||
### 日志功能
|
||
- **位置**: `/var/log/caddy/photography.log`
|
||
- **格式**: JSON 格式便于分析
|
||
- **轮转**: 10MB 轮转,保留 5 个文件
|
||
|
||
## 故障排除
|
||
|
||
### 权限问题
|
||
如果遇到 `permission denied` 错误:
|
||
```bash
|
||
# 检查目录权限
|
||
ls -la /home/gitea/www/photography
|
||
|
||
# 运行权限修复脚本
|
||
./fix-caddy-permissions.sh
|
||
|
||
# 验证 caddy 用户可以访问
|
||
sudo -u caddy ls -la /home/gitea/www/photography
|
||
```
|
||
|
||
### 检查配置语法
|
||
```bash
|
||
caddy validate --config /path/to/Caddyfile
|
||
```
|
||
|
||
### 查看日志
|
||
```bash
|
||
# 系统日志
|
||
sudo journalctl -u caddy -f
|
||
|
||
# 应用日志
|
||
sudo tail -f /var/log/caddy/photography.log
|
||
```
|
||
|
||
### 测试配置
|
||
```bash
|
||
# 测试模式启动
|
||
sudo caddy run --config /etc/caddy/Caddyfile
|
||
```
|
||
|
||
### 常见错误解决
|
||
|
||
#### 1. Permission denied 错误
|
||
- **原因**: Caddy 进程无法访问用户目录
|
||
- **解决**: 运行 `fix-caddy-permissions.sh` 脚本
|
||
|
||
#### 2. 404 Not Found 错误
|
||
- **原因**: 文件路径不正确或文件不存在
|
||
- **解决**: 检查 `/home/gitea/www/photography` 目录是否有文件
|
||
|
||
#### 3. 证书获取失败
|
||
- **原因**: 域名 DNS 未正确指向服务器
|
||
- **解决**: 确认 DNS A 记录指向正确 IP
|
||
|
||
## 域名解析
|
||
|
||
确保域名 `photography.iriver.top` 的 DNS 记录指向服务器 IP:
|
||
|
||
```
|
||
A photography.iriver.top YOUR_SERVER_IP
|
||
```
|
||
|
||
## SSL 证书
|
||
|
||
Caddy 会自动:
|
||
- 获取 Let's Encrypt SSL 证书
|
||
- 自动续期证书
|
||
- 强制 HTTPS 重定向
|
||
|
||
## 性能优化
|
||
|
||
配置包含以下优化:
|
||
- Gzip 压缩减少带宽
|
||
- 静态资源缓存提高加载速度
|
||
- 安全头提高安全性
|
||
- 错误页面友好处理 |