4.1 KiB
4.1 KiB
修复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,建议统一使用它。
步骤:
- 修改
.env文件:
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
-
修改
lover/.env文件(如果有OSS配置) -
重启应用
方案B: 统一使用 hello12312312 Bucket
如果要使用 hello12312312 作为主Bucket,需要迁移所有资源。
步骤:
- 使用ossutil同步歌曲音频文件:
# 安装ossutil(如果还没安装)
# Windows: 下载 https://gosspublic.alicdn.com/ossutil/ossutil64.exe
# 配置ossutil
ossutil config
# 同步uploads目录
ossutil cp -r \
oss://nvlovers/uploads/ \
oss://hello12312312/uploads/ \
--update
-
同步恋人图片(如果需要)
-
更新数据库中的URL(可选)
方案C: 双Bucket配置(不推荐)
保持两个Bucket,但需要修改代码逻辑来处理不同来源的资源。这会增加复杂度,不推荐。
推荐方案:方案A
建议统一使用 nvlovers Bucket,因为:
- 歌曲音频已经存储在那里
- 从数据库导出看,成功的任务都使用 nvlovers
- 迁移成本最低
具体操作步骤
1. 备份当前配置
copy .env .env.backup
copy lover\.env lover\.env.backup
2. 修改主配置文件
编辑 .env:
# 修改这几行
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. 重启应用
# 停止当前运行的服务
# 然后重新启动
启动项目.bat
5. 验证修复
重新尝试生成唱歌视频,确认使用正确的Bucket。
验证方法
方法1: 查看新任务的URL
生成一个新任务后,检查数据库中的URL:
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
# 创建一个测试任务
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
}'
注意事项
-
访问密钥 确保 ACCESS_KEY 对两个Bucket都有权限,或者更新为对应Bucket的密钥。
-
已上传的文件 如果用户已经上传了文件到 hello12312312,需要:
- 迁移这些文件到 nvlovers
- 或者保留 hello12312312 用于已有资源
-
CDN配置 如果使用了CDN,确保CDN配置指向正确的源站。
-
跨域配置 确保新Bucket的CORS配置正确。
迁移现有资源(可选)
如果需要将 hello12312312 中的资源迁移到 nvlovers:
# 使用ossutil批量复制
ossutil cp -r \
oss://hello12312312/lover/ \
oss://nvlovers/lover/ \
--update
# 复制uploads目录
ossutil cp -r \
oss://hello12312312/uploads/ \
oss://nvlovers/uploads/ \
--update
测试清单
修改配置后,测试以下功能:
- 生成恋人形象
- 上传自定义图片
- 生成唱歌视频
- 生成跳舞视频
- 查看历史记录
- 图片和视频能正常显示
回滚方案
如果修改后出现问题,可以快速回滚:
copy .env.backup .env
copy lover\.env.backup lover\.env
# 重启应用
总结
任务382失败是因为OSS配置不一致。修复方法是统一使用 nvlovers Bucket,这样所有资源都在同一个地方,避免404错误。