diff --git a/SERVER_INSTALL.md b/SERVER_INSTALL.md new file mode 100644 index 0000000..f9f9feb --- /dev/null +++ b/SERVER_INSTALL.md @@ -0,0 +1,329 @@ +# 服务器端安装指南 + +## 🚀 快速部署 Taiko Web (Sorted 分支) + +--- + +## 📋 前置要求 + +- Ubuntu/Debian Linux 服务器 +- Python 3.8+ +- Git +- MongoDB +- Redis + +--- + +## 🔧 完整安装步骤 + +### 1. 克隆 Sorted 分支 + +```bash +# 克隆代码(包含智能排序功能) +git clone -b Sorted https://git.20091128.xyz/AnthonyDuan/taiko-web.git +cd taiko-web +``` + +### 2. 创建虚拟环境 + +```bash +# 创建虚拟环境 +python3 -m venv .venv + +# 激活虚拟环境 +source .venv/bin/activate +``` + +### 3. 安装依赖(分步骤) + +#### 步骤 A: 先安装基础依赖 + +```bash +# 安装除 tjaf 外的所有依赖 +pip install bcrypt==4.2.1 \ + ffmpy==0.5.0 \ + Flask==3.1.0 \ + Flask-Caching==2.3.0 \ + Flask-Session==0.8.0 \ + Flask-WTF==1.2.2 \ + gunicorn==23.0.0 \ + jsonschema==4.23.0 \ + pymongo==4.11 \ + redis==5.2.1 \ + requests==2.32.3 \ + websockets==14.2 \ + Flask-Limiter==3.10.1 \ + msgspec==0.19.0 +``` + +#### 步骤 B: 安装 tjaf 包 + +**方法 1: 使用安装脚本(推荐)** + +```bash +# 给脚本执行权限 +chmod +x install_tjaf.sh + +# 运行安装脚本 +./install_tjaf.sh +``` + +**方法 2: 使用 GitHub 镜像** + +```bash +# 尝试通过镜像安装 +pip install git+https://ghproxy.com/https://github.com/yuukiwww/tjaf.git@d59e854b074012f6a31bd4c65b53edb6148b0ac7 +``` + +**方法 3: 跳过 tjaf(如果暂时不需要 TJA 功能)** + +```bash +# 直接跳过,稍后手动处理 +echo "跳过 tjaf 安装,稍后处理" +``` + +### 4. 配置应用 + +```bash +# 复制配置文件 +cp config.example.py config.py + +# 编辑配置 +nano config.py +# 根据你的环境修改 MongoDB、Redis 等配置 +``` + +### 5. 启动服务 + +#### 开发模式 + +```bash +# 激活虚拟环境(如果还没激活) +source .venv/bin/activate + +# 启动 Flask 开发服务器 +flask run --host=0.0.0.0 --port=5000 +``` + +#### 生产模式(使用 Gunicorn) + +```bash +# 使用 Gunicorn 启动 +gunicorn -w 4 -b 0.0.0.0:5000 server:app +``` + +--- + +## ⚠️ tjaf 包问题解决方案 + +### 问题描述 + +`tjaf` 包的 GitHub 仓库目前不可访问,安装时会报错: + +``` +fatal: Authentication failed for 'https://github.com/yuukiwww/tjaf.git/' +``` + +### 解决方案选择 + +#### 🎯 推荐方案 1: 使用本地副本 + +如果你有 tjaf 的源代码或 wheel 文件: + +```bash +# 如果有 tjaf 源代码 +mkdir -p tjaf +# 将源代码复制到 tjaf/ 目录 +pip install -e ./tjaf + +# 如果有 wheel 文件 +pip install /path/to/tjaf-*.whl +``` + +#### 🔄 推荐方案 2: 使用镜像站 + +```bash +# 中国大陆用户推荐使用 ghproxy +pip install git+https://ghproxy.com/https://github.com/yuukiwww/tjaf.git@d59e854b074012f6a31bd4c65b53edb6148b0ac7 + +# 或者其他镜像 +pip install git+https://mirror.ghproxy.com/https://github.com/yuukiwww/tjaf.git@d59e854b074012f6a31bd4c65b53edb6148b0ac7 +``` + +#### 🚧 临时方案 3: 注释相关代码 + +如果暂时不需要 TJA 解析功能: + +```bash +# 编辑 app.py +nano app.py + +# 找到并注释以下行: +# import tjaf +# 以及使用 tjaf 的代码(第 835 行左右) +``` + +--- + +## 📊 验证安装 + +### 检查依赖 + +```bash +# 查看已安装的包 +pip list + +# 检查是否安装了所有必需的包 +pip check +``` + +### 测试应用 + +```bash +# 启动应用 +flask run + +# 在另一个终端测试 +curl http://localhost:5000 +``` + +### 测试智能排序功能 + +1. 访问 http://your-server:5000 +2. 查看歌曲列表 +3. 应该看到歌曲已按 **数字 → 字母 → 其他** 的顺序排列 + +--- + +## 🐳 Docker 部署(可选) + +如果你想使用 Docker: + +```bash +# 构建镜像 +docker build -t taiko-web . + +# 运行容器 +docker run -d \ + -p 5000:5000 \ + --name taiko-web \ + -e MONGODB_URI=mongodb://your-mongo:27017 \ + -e REDIS_URL=redis://your-redis:6379 \ + taiko-web +``` + +--- + +## 🔍 故障排除 + +### 问题 1: tjaf 安装失败 + +**错误信息:** +``` +fatal: Authentication failed for 'https://github.com/yuukiwww/tjaf.git/' +``` + +**解决方法:** +1. 使用 GitHub 镜像站(见上文) +2. 使用本地 tjaf 副本 +3. 暂时跳过 tjaf 安装 + +### 问题 2: 虚拟环境激活失败 + +**解决方法:** +```bash +# 确保正确创建虚拟环境 +python3 -m venv .venv + +# 使用完整路径激活 +source /root/taiko-web/.venv/bin/activate +``` + +### 问题 3: 权限问题 + +**解决方法:** +```bash +# 修改文件权限 +chmod +x install_tjaf.sh +chmod -R 755 /root/taiko-web +``` + +### 问题 4: MongoDB 连接失败 + +**解决方法:** +```bash +# 检查 MongoDB 是否运行 +systemctl status mongod + +# 启动 MongoDB +systemctl start mongod + +# 修改 config.py 中的连接字符串 +``` + +--- + +## 📞 获取帮助 + +### 查看日志 + +```bash +# Flask 日志 +flask run --debug + +# Gunicorn 日志 +gunicorn --access-logfile - --error-logfile - server:app +``` + +### 相关文档 + +- 📖 [TJAF 安装说明](TJAF_INSTALL.md) +- 📘 [排序功能使用指南](SORT_USAGE.md) +- 🚀 [快速开始](QUICKSTART_SORT.md) + +--- + +## ✅ 完整安装命令(复制粘贴) + +```bash +# 克隆代码 +git clone -b Sorted https://git.20091128.xyz/AnthonyDuan/taiko-web.git +cd taiko-web + +# 创建虚拟环境 +python3 -m venv .venv +source .venv/bin/activate + +# 安装基础依赖 +pip install -r requirements.txt 2>/dev/null || echo "部分依赖安装失败" + +# 尝试安装 tjaf +chmod +x install_tjaf.sh +./install_tjaf.sh || echo "tjaf 需要手动安装" + +# 配置应用 +cp config.example.py config.py +nano config.py # 修改配置 + +# 启动应用 +flask run --host=0.0.0.0 --port=5000 +``` + +--- + +## 🎉 安装完成! + +访问 http://your-server-ip:5000 开始使用 Taiko Web! + +歌曲列表已自动按智能顺序排列: +- 🔢 数字优先 +- 🔤 字母次之 +- 🌏 其他符号最后 + +**享受游戏!** 🥁 + +--- + +**更新时间**: 2025-11-15 +**分支**: Sorted +**版本**: v1.1