102 lines
3.3 KiB
Plaintext
102 lines
3.3 KiB
Plaintext
# ==========================================
|
||
# 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
|
||
|