查看: 80|回复: 0

【教程8】搭建完成:全链路测试与排错指南 — 确保一切正常运转

[复制链接]

18

主题

0

回帖

58

积分

管理员

积分
58
发表于 2026-5-14 17:05:37 | 显示全部楼层 |阅读模式
教程5-7完成之后,你的中转站应该已经可以通过域名访问了。但能访问不代表能用——本文教你如何系统性地测试每一个环节,并解决可能遇到的问题。

一、全链路测试清单

测试项命令/方法期望结果
Web 页面可访问浏览器访问域名显示 New API 页面
HTTPS 正常浏览器地址栏🔒 锁图标
用户注册注册新账号注册成功,收到确认
API 调用curl 测试返回正常 JSON 响应
额度扣减发请求后查看余额余额正确减少
日志记录管理面板日志有请求记录


二、curl 测试 API 接口

这是最重要的测试,模拟真实用户调用你的 API:

2.1 测试 /v1/models 接口(列出可用模型)
  1. curl -H "Authorization: Bearer YOUR_API_KEY" \
  2.      -H "Content-Type: application/json" \
  3.      https://api.yourdomain.com/v1/models
复制代码

2.2 测试聊天补全(Chat Completions)
  1. curl -X POST https://api.yourdomain.com/v1/chat/completions \
  2.   -H "Authorization: Bearer YOUR_API_KEY" \
  3.   -H "Content-Type: application/json" \
  4.   -d '{
  5.     "model": "gpt-5-mini",
  6.     "messages": [
  7.       {"role": "user", "content": "Say hello in one sentence."}
  8.     ],
  9.     "max_tokens": 50
  10.   }'
复制代码

2.3 测试流式响应(SSE)
  1. curl -X POST https://api.yourdomain.com/v1/chat/completions \
  2.   -H "Authorization: Bearer YOUR_API_KEY" \
  3.   -H "Content-Type: application/json" \
  4.   -H "Accept: text/event-stream" \
  5.   -d '{
  6.     "model": "gpt-5-mini",
  7.     "messages": [
  8.       {"role": "user", "content": "Count from 1 to 5 slowly."}
  9.     ],
  10.     "stream": true
  11.   }'
复制代码

期望看到逐字输出的 SSE 格式响应。

三、常见错误码及排查

错误码含义排查方向
401 UnauthorizedAPI Key 无效检查Key是否正确;用户是否有额度
403 Forbidden权限不足用户分组权限设置
404 Not Found接口路径错误检查域名和路径是否正确
429 Too Many Requests请求频率过高限流配置(Nginx/New API)
500 Internal Server Error服务器内部错误查看 New API 日志
502 Bad GatewayNginx 无法连接后端New API 容器是否在运行
503 Service Unavailable服务暂时不可用上游 API 不通或超时


四、查看日志排查问题
  1. # New API 日志(最重要)
  2. cd /opt/new-api
  3. docker compose logs -f new-api --tail=100
  4. # Nginx 访问日志
  5. sudo tail -f /var/log/nginx/access.log
  6. # Nginx 错误日志
  7. sudo tail -f /var/log/nginx/error.log
  8. # 系统日志
  9. sudo tail -f /var/log/syslog | grep -i error
复制代码

五、数据库直连测试
  1. # 测试 MySQL 连接
  2. docker exec -it newapi-mysql mysql -uroot -p
  3. # 查看数据
  4. USE new_api;
  5. SELECT COUNT(*) FROM users;        -- 用户数
  6. SELECT COUNT(*) FROM channels;      -- 渠道数
  7. SELECT COUNT(*) FROM logs;          -- 日志数
  8. SELECT SUM(quota) FROM users;       -- 总充值额度
  9. EXIT;
复制代码

六、性能基准测试(可选)

使用简单的 bash 脚本测试吞吐量:
  1. #!/bin/bash
  2. # 简单性能测试 - 发送10个请求,记录耗时
  3. API_URL="https://api.yourdomain.com/v1/chat/completions"
  4. API_KEY="YOUR_API_KEY"
  5. for i in {1..10}; do
  6.   start=$(date +%s%N)
  7.   curl -s -X POST "$API_URL" \
  8.     -H "Authorization: Bearer $API_KEY" \
  9.     -H "Content-Type: application/json" \
  10.     -d '{"model":"gpt-5-mini","messages":[{"role":"user","content":"Hi"}]}' \
  11.     -o /dev/null -w "%{http_code} "
  12.   end=$(date +%s%N)
  13.   echo "Request $i: $(( (end-start) / 1000000 ))ms"
  14. done
复制代码

七、部署检查清单(Checklist)

检查项通过标准
Docker 各容器正常运行docker compose ps 全绿,无 restart
Nginx 配置无语法错误nginx -t 返回 successful
SSL 证书有效浏览器 🔒 图标,证书未过期
HTTP → HTTPS 自动跳转访问 http://域名 自动跳转 https
管理面板可登录输入管理员账号密码成功进入
渠道测试通过管理面板 → 渠道 → 测试 → 连通
用户可自助注册用隐私窗口注册新用户
API Key 可用curl 测试返回 200 + 正确响应
额度扣减准确调用前后对比用户余额
防火墙仅开放必要端口ufw status 只有 22/80/443


八、如果一切正常……

恭喜!你的 API 中转站已经可以运行了。接下来:



  • 教程9:接入更多上游渠道,配置负载均衡
  • 教程10:制定定价策略,管理用户
  • 教程11:对接支付系统,开始赚钱
  • 教程12:推广获客,让用户知道你的站


参考来源:New API GitHub Issues 常见问题汇总;OpenAI API 文档;Nginx 官方文档
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

扫一扫浏览手机版
Archiver|手机版|小黑屋|星海拾贝 - API中转站上下游信息论坛

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖
扫一扫浏览手机版
返回顶部