服务器部署
职责:完整部署说明——ThinkPHP 后端、tools.wktyl.com 主站、wyi.cc 短链 Worker、Cloudflare 资源清单、SSL/反代/队列/限流配置。
部署文档(ThinkPHP 后端 + Cloudflare Workers)
创建: 2026-08-15 | 更新: 2026-08-15
维护: Xianyan 团队
职责:完整部署说明——ThinkPHP 后端、tools.wktyl.com 主站、wyi.cc 短链 Worker、Cloudflare 资源清单、SSL/反代/队列/限流配置。
1. 部署架构
用户
├─ tools.wktyl.com (LNMP + ThinkPHP 5.x 后端)
│ ├─ /admin → 后台管理(FastAdmin)
│ ├─ /api/* → API 接口(27 个模块)
│ └─ / → 静态页面
│
├─ wyi.cc 短链服务 (Cloudflare Worker)
│ └─ 数据库: D1 wyi-shortener
│
├─ cdn.xianyan.cc (Cloudflare Worker)
│ └─ R2 xianyan-images (图片存储)
│
├─ fenxi.xianyan.cc (Cloudflare Worker)
│ └─ D1 xianyan-analytics (埋点)
│
├─ today.xianyan.cc / yan.wyi.cc (Cloudflare Worker)
│ └─ 古风诗词(今日一吟 + 每日一吟)
│
└─ fy.wyi.cc / fan.wyi.cc (Cloudflare Worker)
└─ 翻译 AI + 文档站点
2. ThinkPHP 后端部署
2.1 服务器要求
- CentOS 7+ / Ubuntu 20+
- LNMP/LAMP(PHP 7.4+ / MySQL 5.7+)
- Composer 2
- Node 16+
- 至少 2GB 内存
2.2 部署步骤
# 1. 拉取代码
git clone https://github.com/your-org/xianyan.git /www/wwwroot/tools.wktyl.com
cd /www/wwwroot/tools.wktyl.com
# 2. 安装依赖
composer install --no-dev
npm install
# 3. 数据库迁移
php think migrate:run
# 4. 导入种子数据
php think seed:run
# 5. 配置 .env
cp .env.example .env
# 编辑:APP_DEBUG=false / DB credentials / Cache driver
# 6. 设置权限
chmod -R 755 /www/wwwroot/tools.wktyl.com
chown -R www:www /www/wwwroot/tools.wktyl.com/runtime
# 7. Nginx 配置
ln -s /etc/nginx/conf.d/xianyan-tools.conf /etc/nginx/conf.d/
nginx -s reload
2.3 上传新代码(自动化脚本)
python3 Scripts/upload_server_code.py config_drift fix_oauth rate_limit
# 自动 SSH 上传 + 备份旧文件 + php -l 校验 + 清缓存
支持的命令:
- <file_keyword> 上传指定文件
- all 上传所有
- --rollback 回滚到上次备份
详见 Scripts/upload_server_code.py
3. Cloudflare Workers 部署
3.1 wrangler 安装
npm install -g wrangler
wrangler login # OAuth 登录
3.2 部署单个 Worker
cd Scripts/wyi # 或 gufeng/, fan/, doc-xianyan/
wrangler deploy
3.3 设置 Secret
wrangler secret put OPENAI_API_KEY
wrangler secret put DOC_API_KEY
# 输入值后回车
4. Cloudflare 资源清单
| 类型 | 名称 | ID | 用途 |
|---|---|---|---|
| D1 | xianyan-gufeng | 456401c1-... | 古风诗词 (12 时辰 + 8 节日) |
| D1 | xianyan-analytics | 19601853-... | 埋点 + 统计 |
| D1 | xianyan-shield | 9c795d8b-... | OAuth 凭据 |
| D1 | wyi-shortener | 13b1d999-... | 短链 |
| KV | RATE_LIMIT | 60ce91e00a... | 全局限流 + AI 用量 |
| KV | XY_CDN_FILES | 2175c849... | 静态资源 |
| KV | XY_CDN_SESSIONS | d5dda973... | 会话 |
| R2 | xianyan-images | — | 闲言图片 |
| AI Gateway | default | — | AI 调用网关(缓存/限流) |
| Turnstile | s2ss-content | — | 人机验证 |
详见 CLOUDFLARE_MANAGEMENT_GUIDE.md
5. 上传代码到服务器
详见 Scripts/upload_server_code.py 文档
6. 监控 / 告警
- Worker logs:
wrangler tail <worker-name> - D1 使用:Dashboard → D1 → SQL Dashboard
- AI 用量:
wrangler kv key get --namespace-id 60ce91e... global:YYYYMMDD