wordpress / README.md
CatPtain's picture
Update README.md
bf3ada3 verified
|
raw
history blame
5.06 kB
metadata
title: WordPress with SQLite
emoji: 🌐
colorFrom: blue
colorTo: purple
sdk: docker
sdk_version: '4.0'
app_file: app.py
pinned: false

WordPress for Hugging Face Spaces

这是一个专门为 Hugging Face Spaces 优化的 WordPress 部署方案,采用单容器架构,使用 SQLite 数据库,并包含自动文件清理功能。

🚀 特性

  • 单容器部署: 无需复杂的多容器编排
  • SQLite 数据库: 轻量级,无需单独的数据库服务器
  • 自动清理: 自动删除超过1年的文件,保持存储空间整洁
  • 性能优化: 针对 Hugging Face Spaces 环境优化
  • 安全配置: 内置安全最佳实践
  • 监控面板: 实时查看清理统计和系统状态

📋 系统要求

  • Hugging Face Spaces (Docker 环境)
  • 最小 2GB RAM
  • 最小 10GB 存储空间

🛠️ 部署步骤

1. 创建 Hugging Face Space

  1. 访问 Hugging Face Spaces
  2. 点击 "Create new Space"
  3. 选择 "Docker" 作为 SDK
  4. 设置 Space 名称和可见性

2. 上传文件

将以下文件上传到你的 Space 仓库:

├── Dockerfile
├── wp-config.php
├── monitor-cleanup.sh
├── .dockerignore
└── README_SPACES.md

3. 自动部署

Hugging Face 会自动检测 Dockerfile 并开始构建部署。

🔧 配置说明

数据库配置

  • 类型: SQLite
  • 位置: /var/www/html/wp-content/database/wordpress.db
  • 自动备份: 每日备份到日志目录

自动清理配置

wp-config.php 中可以调整以下设置:

// 文件保留期限(天数)
define('FILE_RETENTION_DAYS', 365); // 1年

// 清理功能开关
define('AUTO_CLEANUP_ENABLED', true);

清理策略

自动清理脚本会处理以下内容:

  1. 上传文件: 删除超过1年的媒体文件
  2. 缓存文件: 清理过期的缓存
  3. 临时文件: 删除临时和备份文件
  4. 日志文件: 压缩和清理旧日志
  5. 空目录: 删除空的目录结构

排除规则

以下文件类型不会被自动删除:

  • 数据库文件 (*.db, *.sql)
  • 配置文件 (wp-config.php, .htaccess)
  • 核心文件 (index.php)
  • 当前日志文件

📊 监控功能

管理面板统计

登录 WordPress 管理后台后,在仪表板可以看到:

  • 最近清理记录
  • 删除文件统计
  • 磁盘使用情况
  • 系统性能指标

日志查看

清理日志保存在 /var/log/wordpress/cleanup.log,包含:

  • 清理时间和结果
  • 删除的文件列表
  • 系统资源使用情况
  • 错误和警告信息

🔒 安全特性

  • 文件编辑禁用: 禁止在后台编辑文件
  • XML-RPC 禁用: 防止 XML-RPC 攻击
  • 登录限制: 限制登录尝试次数
  • 调试模式: 生产环境禁用调试输出
  • 文件权限: 严格的文件权限控制

⚡ 性能优化

  • 内存限制: 256MB PHP 内存限制
  • 上传限制: 64MB 文件上传限制
  • 自动保存: 5分钟自动保存间隔
  • 修订控制: 限制文章修订版本数量
  • 垃圾清理: 30天自动清空垃圾箱

🚨 故障排除

常见问题

  1. 数据库连接错误

    • 检查 SQLite 插件是否正确安装
    • 确认数据库目录权限正确
  2. 文件上传失败

    • 检查上传目录权限
    • 确认磁盘空间充足
  3. 清理脚本不工作

    • 检查 cron 服务状态
    • 查看清理日志文件

调试模式

如需启用调试模式,在 wp-config.php 中修改:

define('WP_DEBUG', true);
define('WP_DEBUG_DISPLAY', true);

手动清理

如需手动执行清理:

# 进入容器
docker exec -it <container_name> /bin/bash

# 执行清理脚本
/scripts/monitor-cleanup.sh

📈 使用建议

内容管理

  1. 定期备份: 虽然有自动清理,建议定期导出重要内容
  2. 媒体优化: 上传前压缩图片,减少存储占用
  3. 插件选择: 选择轻量级插件,避免资源密集型插件

性能监控

  1. 定期检查: 查看管理面板的清理统计
  2. 磁盘监控: 关注磁盘使用率警告
  3. 日志分析: 定期查看清理日志

安全维护

  1. 定期更新: 保持 WordPress 和插件更新
  2. 密码安全: 使用强密码和双因素认证
  3. 访问控制: 限制管理员账户数量

🔄 更新和维护

更新 WordPress

由于使用 Docker 镜像,WordPress 更新需要重新构建镜像:

  1. 更新 Dockerfile 中的 WordPress 版本
  2. 重新部署 Space

配置更新

修改配置文件后,需要重新部署:

  1. 更新相应的配置文件
  2. 提交到 Git 仓库
  3. Hugging Face 会自动重新部署

📞 支持

如遇到问题,可以:

  1. 查看 Hugging Face Spaces 文档
  2. 检查容器日志
  3. 参考 WordPress 官方文档
  4. 在 GitHub 上提交 Issue

📄 许可证

本项目遵循原项目的许可证条款。


注意: 这是一个实验性部署方案,建议在生产环境使用前进行充分测试。