186 lines
4.1 KiB
Markdown
186 lines
4.1 KiB
Markdown
|
|
# 修复OSS配置问题
|
|||
|
|
|
|||
|
|
## 问题确认
|
|||
|
|
|
|||
|
|
当前配置使用的Bucket:
|
|||
|
|
```
|
|||
|
|
ALIYUN_OSS_BUCKET_NAME=hello12312312
|
|||
|
|
ALIYUN_OSS_ENDPOINT=https://oss-cn-hangzhou.aliyuncs.com
|
|||
|
|
ALIYUN_OSS_CDN_DOMAIN=https://hello12312312.oss-cn-hangzhou.aliyuncs.com
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
但歌曲音频文件存储在:
|
|||
|
|
```
|
|||
|
|
nvlovers.oss-cn-qingdao.aliyuncs.com
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 解决方案选择
|
|||
|
|
|
|||
|
|
### 方案A: 统一使用 nvlovers Bucket(推荐)
|
|||
|
|
|
|||
|
|
如果 nvlovers 是主要的生产环境Bucket,建议统一使用它。
|
|||
|
|
|
|||
|
|
**步骤:**
|
|||
|
|
|
|||
|
|
1. 修改 `.env` 文件:
|
|||
|
|
```bash
|
|||
|
|
ALIYUN_OSS_BUCKET_NAME=nvlovers
|
|||
|
|
ALIYUN_OSS_ENDPOINT=https://oss-cn-qingdao.aliyuncs.com
|
|||
|
|
ALIYUN_OSS_CDN_DOMAIN=https://nvlovers.oss-cn-qingdao.aliyuncs.com
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
2. 修改 `lover/.env` 文件(如果有OSS配置)
|
|||
|
|
|
|||
|
|
3. 重启应用
|
|||
|
|
|
|||
|
|
### 方案B: 统一使用 hello12312312 Bucket
|
|||
|
|
|
|||
|
|
如果要使用 hello12312312 作为主Bucket,需要迁移所有资源。
|
|||
|
|
|
|||
|
|
**步骤:**
|
|||
|
|
|
|||
|
|
1. 使用ossutil同步歌曲音频文件:
|
|||
|
|
```bash
|
|||
|
|
# 安装ossutil(如果还没安装)
|
|||
|
|
# Windows: 下载 https://gosspublic.alicdn.com/ossutil/ossutil64.exe
|
|||
|
|
|
|||
|
|
# 配置ossutil
|
|||
|
|
ossutil config
|
|||
|
|
|
|||
|
|
# 同步uploads目录
|
|||
|
|
ossutil cp -r \
|
|||
|
|
oss://nvlovers/uploads/ \
|
|||
|
|
oss://hello12312312/uploads/ \
|
|||
|
|
--update
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
2. 同步恋人图片(如果需要)
|
|||
|
|
|
|||
|
|
3. 更新数据库中的URL(可选)
|
|||
|
|
|
|||
|
|
### 方案C: 双Bucket配置(不推荐)
|
|||
|
|
|
|||
|
|
保持两个Bucket,但需要修改代码逻辑来处理不同来源的资源。这会增加复杂度,不推荐。
|
|||
|
|
|
|||
|
|
## 推荐方案:方案A
|
|||
|
|
|
|||
|
|
建议统一使用 `nvlovers` Bucket,因为:
|
|||
|
|
1. 歌曲音频已经存储在那里
|
|||
|
|
2. 从数据库导出看,成功的任务都使用 nvlovers
|
|||
|
|
3. 迁移成本最低
|
|||
|
|
|
|||
|
|
## 具体操作步骤
|
|||
|
|
|
|||
|
|
### 1. 备份当前配置
|
|||
|
|
```bash
|
|||
|
|
copy .env .env.backup
|
|||
|
|
copy lover\.env lover\.env.backup
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 2. 修改主配置文件
|
|||
|
|
编辑 `.env`:
|
|||
|
|
```bash
|
|||
|
|
# 修改这几行
|
|||
|
|
ALIYUN_OSS_BUCKET_NAME=nvlovers
|
|||
|
|
ALIYUN_OSS_ENDPOINT=https://oss-cn-qingdao.aliyuncs.com
|
|||
|
|
ALIYUN_OSS_CDN_DOMAIN=https://nvlovers.oss-cn-qingdao.aliyuncs.com
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3. 检查lover配置
|
|||
|
|
确保 `lover/.env` 没有覆盖OSS配置,或者也同步修改。
|
|||
|
|
|
|||
|
|
### 4. 重启应用
|
|||
|
|
```bash
|
|||
|
|
# 停止当前运行的服务
|
|||
|
|
# 然后重新启动
|
|||
|
|
启动项目.bat
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 5. 验证修复
|
|||
|
|
重新尝试生成唱歌视频,确认使用正确的Bucket。
|
|||
|
|
|
|||
|
|
## 验证方法
|
|||
|
|
|
|||
|
|
### 方法1: 查看新任务的URL
|
|||
|
|
生成一个新任务后,检查数据库中的URL:
|
|||
|
|
```sql
|
|||
|
|
SELECT
|
|||
|
|
id,
|
|||
|
|
JSON_EXTRACT(payload, '$.audio_url') as audio_url,
|
|||
|
|
JSON_EXTRACT(payload, '$.image_url') as image_url
|
|||
|
|
FROM nf_generation_tasks
|
|||
|
|
ORDER BY id DESC
|
|||
|
|
LIMIT 1;
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
应该看到URL包含 `nvlovers.oss-cn-qingdao.aliyuncs.com`
|
|||
|
|
|
|||
|
|
### 方法2: 测试API
|
|||
|
|
```bash
|
|||
|
|
# 创建一个测试任务
|
|||
|
|
curl -X POST http://192.168.1.141:30101/sing/generate \
|
|||
|
|
-H "Content-Type: application/json" \
|
|||
|
|
-H "Authorization: Bearer YOUR_TOKEN" \
|
|||
|
|
-d '{
|
|||
|
|
"song_id": 9,
|
|||
|
|
"lover_id": 64
|
|||
|
|
}'
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 注意事项
|
|||
|
|
|
|||
|
|
1. **访问密钥**
|
|||
|
|
确保 ACCESS_KEY 对两个Bucket都有权限,或者更新为对应Bucket的密钥。
|
|||
|
|
|
|||
|
|
2. **已上传的文件**
|
|||
|
|
如果用户已经上传了文件到 hello12312312,需要:
|
|||
|
|
- 迁移这些文件到 nvlovers
|
|||
|
|
- 或者保留 hello12312312 用于已有资源
|
|||
|
|
|
|||
|
|
3. **CDN配置**
|
|||
|
|
如果使用了CDN,确保CDN配置指向正确的源站。
|
|||
|
|
|
|||
|
|
4. **跨域配置**
|
|||
|
|
确保新Bucket的CORS配置正确。
|
|||
|
|
|
|||
|
|
## 迁移现有资源(可选)
|
|||
|
|
|
|||
|
|
如果需要将 hello12312312 中的资源迁移到 nvlovers:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 使用ossutil批量复制
|
|||
|
|
ossutil cp -r \
|
|||
|
|
oss://hello12312312/lover/ \
|
|||
|
|
oss://nvlovers/lover/ \
|
|||
|
|
--update
|
|||
|
|
|
|||
|
|
# 复制uploads目录
|
|||
|
|
ossutil cp -r \
|
|||
|
|
oss://hello12312312/uploads/ \
|
|||
|
|
oss://nvlovers/uploads/ \
|
|||
|
|
--update
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 测试清单
|
|||
|
|
|
|||
|
|
修改配置后,测试以下功能:
|
|||
|
|
- [ ] 生成恋人形象
|
|||
|
|
- [ ] 上传自定义图片
|
|||
|
|
- [ ] 生成唱歌视频
|
|||
|
|
- [ ] 生成跳舞视频
|
|||
|
|
- [ ] 查看历史记录
|
|||
|
|
- [ ] 图片和视频能正常显示
|
|||
|
|
|
|||
|
|
## 回滚方案
|
|||
|
|
|
|||
|
|
如果修改后出现问题,可以快速回滚:
|
|||
|
|
```bash
|
|||
|
|
copy .env.backup .env
|
|||
|
|
copy lover\.env.backup lover\.env
|
|||
|
|
# 重启应用
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 总结
|
|||
|
|
|
|||
|
|
任务382失败是因为OSS配置不一致。修复方法是统一使用 `nvlovers` Bucket,这样所有资源都在同一个地方,避免404错误。
|