File size: 5,747 Bytes
52c8a68 bf47729 ca8657b bf47729 ca8657b bf47729 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 |
---
title: WordPress on Hugging Face Spaces
emoji: 🚀
colorFrom: blue
colorTo: purple
sdk: docker
app_file: app.py
pinned: false
---
# WordPress on Hugging Face Spaces
这是一个专门为 Hugging Face Spaces 优化的 WordPress Docker 部署方案。
## 🚀 特性
- **WordPress 6.8.1** - 最新稳定版本
- **PHP 8.3** - 高性能 PHP 版本
- **SQLite 数据库** - 无需外部数据库服务
- **Apache Web 服务器** - 稳定可靠
- **端口 7860** - 符合 HF Spaces 要求
- **预配置设置** - 开箱即用
- **演示内容** - 包含示例文章和用户
## 📋 部署到 Hugging Face Spaces
### 方法 1: 直接上传文件
1. 在 Hugging Face 创建新的 Space
2. 选择 "Docker" 作为 SDK
3. 上传以下文件到你的 Space:
```
Dockerfile.hf-spaces → Dockerfile
wp-config-hf.php
db.php
start-hf.sh
README-HF-SPACES.md → README.md
```
### 方法 2: Git 推送
1. 克隆你的 HF Space 仓库:
```bash
git clone https://huggingface.co/spaces/YOUR_USERNAME/YOUR_SPACE_NAME
cd YOUR_SPACE_NAME
```
2. 复制必要文件:
```bash
cp path/to/wordpress-master/Dockerfile.hf-spaces ./Dockerfile
cp path/to/wordpress-master/wp-config-hf.php .
cp path/to/wordpress-master/db.php .
cp path/to/wordpress-master/start-hf.sh .
cp path/to/wordpress-master/README-HF-SPACES.md ./README.md
```
3. 提交并推送:
```bash
git add .
git commit -m "Add WordPress for HF Spaces"
git push
```
## 🔧 配置说明
### Dockerfile 修改
- **端口配置**: 从 80 改为 7860
- **数据库**: 使用 SQLite 替代 MySQL
- **依赖**: 添加 SQLite 支持
- **权限**: 优化文件权限设置
### WordPress 配置
- **数据库**: SQLite 文件存储在 `wp-content/database/`
- **URL 检测**: 自动检测 HTTPS 和域名
- **安全**: 禁用文件编辑,启用强制 HTTPS
- **性能**: 优化内存限制和缓存设置
### 启动脚本
- **初始化**: 自动创建必要目录和数据库
- **权限**: 设置正确的文件权限
- **健康检查**: 提供状态页面
- **演示内容**: 可选的示例内容
## 🎯 访问信息
部署完成后,你可以通过以下方式访问:
- **主页**: `https://YOUR_USERNAME-YOUR_SPACE_NAME.hf.space/`
- **管理面板**: `https://YOUR_USERNAME-YOUR_SPACE_NAME.hf.space/wp-admin/`
- **健康检查**: `https://YOUR_USERNAME-YOUR_SPACE_NAME.hf.space/health.html`
### 默认登录信息
- **用户名**: `demo`
- **密码**: `demo123`
- **邮箱**: `[email protected]`
> ⚠️ **安全提醒**: 首次登录后请立即更改默认密码!
## 📁 文件结构
```
/var/www/html/
├── wp-config.php # WordPress 配置
├── wp-content/
│ ├── database/ # SQLite 数据库文件
│ ├── plugins/ # 插件目录
│ ├── themes/ # 主题目录
│ ├── uploads/ # 上传文件
│ └── db.php # SQLite 集成
├── .htaccess # URL 重写规则
└── health.html # 健康检查页面
```
## ⚠️ 限制和注意事项
### Hugging Face Spaces 限制
1. **存储**: 数据不会永久保存,重启后丢失
2. **资源**: CPU 和内存有限制
3. **网络**: 某些外部连接可能受限
4. **插件**: 某些需要特殊权限的插件可能无法使用
5. **权限**: 为了 HF Spaces 兼容性配置了宽松的文件权限 (777)
### 建议用途
- ✅ **演示和测试**: 展示 WordPress 功能
- ✅ **开发环境**: 临时开发和调试
- ✅ **教学用途**: WordPress 学习和培训
- ❌ **生产环境**: 不适合正式网站
- ❌ **数据存储**: 重要数据会丢失
## 🔧 自定义配置
### 修改端口 (如果需要)
在 `Dockerfile.hf-spaces` 中修改:
```dockerfile
# 将 7860 改为其他端口
sed -i 's/Listen 80/Listen YOUR_PORT/' /etc/apache2/ports.conf
EXPOSE YOUR_PORT
```
### 添加插件或主题
在 `Dockerfile.hf-spaces` 中添加:
```dockerfile
# 下载并安装插件
RUN wget -O plugin.zip "PLUGIN_DOWNLOAD_URL" && \
unzip plugin.zip -d /var/www/html/wp-content/plugins/ && \
rm plugin.zip
```
### 修改 PHP 设置
在 `Dockerfile.hf-spaces` 中调整:
```dockerfile
RUN { \
echo 'memory_limit = 512M'; \
echo 'upload_max_filesize = 64M'; \
echo 'post_max_size = 64M'; \
} > /usr/local/etc/php/conf.d/custom.ini
```
## 🐛 故障排除
### 常见问题
1. **Space 启动失败**
- 检查 Dockerfile 语法
- 确认所有必需文件都已上传
- 查看 Space 日志获取详细错误信息
2. **WordPress 无法访问**
- 等待几分钟让容器完全启动
- 检查端口 7860 是否正确配置
- 尝试访问 `/health.html` 检查服务状态
3. **数据库连接错误**
- SQLite 数据库会自动创建
- 检查 `wp-content/database/` 目录权限
- 确认 `db.php` 文件存在
4. **权限错误 (Permission Denied)**
- 容器已配置宽松权限 (777) 解决 HF Spaces 兼容性
- 如果仍有问题,检查 Space 日志中的具体错误
- 确保所有必需目录在 Dockerfile 中正确创建
### 调试方法
1. 查看容器日志
2. 访问 `/health.html` 检查状态
3. 检查 `/wp-content/database/` 目录权限
4. 启用 WordPress 调试模式
## 📚 相关资源
- [WordPress 官方文档](https://wordpress.org/documentation/)
- [Hugging Face Spaces 文档](https://huggingface.co/docs/hub/spaces)
- [SQLite Database Integration 插件](https://wordpress.org/plugins/sqlite-database-integration/)
- [Docker 官方文档](https://docs.docker.com/)
## 🤝 贡献
欢迎提交 Issue 和 Pull Request 来改进这个项目!
## 📄 许可证
本项目遵循 WordPress 的 GPL v2 许可证。 |