docs: 添加服务器端安装指南
- 详细的部署步骤说明 - tjaf 依赖问题的多种解决方案 - 故障排除指南 - 一键安装命令
This commit is contained in:
329
SERVER_INSTALL.md
Normal file
329
SERVER_INSTALL.md
Normal file
@@ -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
|
||||
Reference in New Issue
Block a user