Files
photography/docs/operations/deployment/caddy-setup.md
iriver ff20f6f23a feat: 添加产品经理和全栈开发角色资源文件
初始化产品经理和全栈开发角色的相关资源文件,包括角色定义、知识库、思维模式和执行流程文档
2025-07-21 22:47:16 +08:00

137 lines
2.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 压缩减少带宽
- 静态资源缓存提高加载速度
- 安全头提高安全性
- 错误页面友好处理