ai-chatbot/nginx-florence-config.txt
Your Name 53ddb7e585
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
Initial commit - clean repository
2025-12-17 20:15:18 +08:00

102 lines
3.3 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ==========================================
# Florence-2 物体检测 API - Nginx 配置
# ==========================================
#
# 使用方法:
# 1. SSH 到服务器:ssh -p 5204 root@156.225.27.52
# 2. 编辑 Nginx 配置:sudo nano /etc/nginx/sites-available/ai-chatbot
# 3. 在 server 块中添加以下内容(在其他 location 块之前)
# 4. 测试配置:sudo nginx -t
# 5. 重载 Nginx:sudo systemctl reload nginx
# ==========================================
# 添加到 server 块中(在其他 location 之前)
# ==========================================
# Florence-2 物体检测 API 代理
location /api/detect-object {
# 代理到本地 8002 端口
proxy_pass http://127.0.0.1:8002/api/detect-object;
# HTTP 版本
proxy_http_version 1.1;
# 必要的请求头
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# 禁用缓存(AI 推理结果不应缓存)
proxy_cache_bypass $http_upgrade;
proxy_no_cache 1;
add_header Cache-Control "no-store, no-cache, must-revalidate";
# 超时设置(AI 推理可能需要时间)
proxy_connect_timeout 10s;
proxy_send_timeout 10s;
proxy_read_timeout 10s;
# 错误处理
proxy_intercept_errors on;
error_page 502 503 504 = @florence_error;
}
# 错误处理位置块
location @florence_error {
default_type application/json;
return 502 '{"success":false,"data":null,"error":"物体识别服务暂时不可用,请稍后重试"}';
}
# ==========================================
# 完整示例(参考)
# ==========================================
#
# server {
# listen 443 ssl http2;
# server_name ai.yydd.ai;
#
# # SSL 配置...
#
# # Florence-2 API(添加在最前面)
# location /api/detect-object {
# proxy_pass http://127.0.0.1:8002/api/detect-object;
# proxy_http_version 1.1;
# proxy_set_header Host $host;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_connect_timeout 10s;
# proxy_read_timeout 10s;
# }
#
# # 其他 location 块...
# location /api/ {
# proxy_pass http://127.0.0.1:3000;
# ...
# }
#
# location / {
# proxy_pass http://127.0.0.1:3000;
# ...
# }
# }
# ==========================================
# 验证配置
# ==========================================
#
# 1. 测试后端直接访问(应该成功):
# curl http://localhost:8002/health
# 预期:{"status":"ok","model_loaded":true}
#
# 2. 测试 Nginx 代理(应该成功):
# curl https://ai.yydd.ai/api/detect-object -X POST \
# -H "Content-Type: application/json" \
# -d '{"imageUrl":"https://example.com/test.jpg","clickX":100,"clickY":100,"imageIndex":1,"imageWidth":500,"imageHeight":500}'
# 预期:返回 JSON(可能是错误,但不应该是 404)
#
# 3. 查看 Nginx 日志:
# sudo tail -f /var/log/nginx/access.log
# sudo tail -f /var/log/nginx/error.log