Files
photography/docs/deployment/caddy-setup.md
xujiang 87c34179fa refactor: 清理根目录结构,重组部署文件
移动文件:
- Caddyfile → docs/deployment/Caddyfile
- fix-caddy-permissions.sh → docs/deployment/fix-caddy-permissions.sh

删除无用文件:
- 根目录 package.json (空项目文件)
- 根目录 bun.lock (无用锁定文件)
- 根目录 node_modules/ (无用依赖目录)

保留文件:
- lint-staged.config.js (项目级 pre-commit 配置)

更新引用:
- 更新 caddy-setup.md 中的文件路径
- 更新 deployment/README.md 文档结构

现在根目录更干净,部署相关文件统一在 docs/deployment/ 目录下
2025-07-09 10:44:42 +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 压缩减少带宽
- 静态资源缓存提高加载速度
- 安全头提高安全性
- 错误页面友好处理