#!/bin/bash # 3D素材系统 - Nginx 域名配置脚本 # 域名: 3D.YYDD.AI # 后端服务: http://localhost:2320 echo "==========================================" echo " 配置 Nginx 反向代理" echo " 域名: 3D.YYDD.AI" echo "==========================================" # 1. 安装 Nginx(如果未安装) echo "1. 检查并安装 Nginx..." if ! command -v nginx &> /dev/null; then echo "安装 Nginx..." apt-get update apt-get install -y nginx else echo "Nginx 已安装: $(nginx -v 2>&1)" fi # 2. 创建 Nginx 配置文件 echo "" echo "2. 创建 Nginx 配置..." cat > /etc/nginx/sites-available/3d.yydd.ai << 'EOF' # 3D 素材系统 - Nginx 配置 # 域名: 3D.YYDD.AI 和 3d.yydd.ai server { listen 80; listen [::]:80; server_name 3d.yydd.ai 3D.YYDD.AI www.3d.yydd.ai; # 日志文件 access_log /var/log/nginx/3d-yydd-access.log; error_log /var/log/nginx/3d-yydd-error.log; # 客户端请求体大小限制(设置为 0 表示不限制) client_max_body_size 0; # 超时设置(支持大文件上传) client_body_timeout 3600s; client_header_timeout 3600s; send_timeout 3600s; proxy_connect_timeout 3600s; proxy_send_timeout 3600s; proxy_read_timeout 3600s; # 缓冲区设置 client_body_buffer_size 128k; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; location / { # 反向代理到本地 2320 端口(FRP 穿透后的 NAS 服务) proxy_pass http://localhost:2320; # 代理头设置 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; # WebSocket 支持(如果需要) proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; # 禁用缓冲以支持大文件上传 proxy_request_buffering off; proxy_buffering off; } # API 路由特殊处理(确保上传不受限制) location /api/ { proxy_pass http://localhost:2320; # 代理头设置 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; # 特别针对上传的设置 proxy_request_buffering off; proxy_buffering off; client_max_body_size 0; # 增加超时时间 proxy_connect_timeout 3600s; proxy_send_timeout 3600s; proxy_read_timeout 3600s; } } EOF echo "✅ Nginx 配置文件已创建: /etc/nginx/sites-available/3d.yydd.ai" # 3. 启用站点 echo "" echo "3. 启用站点..." ln -sf /etc/nginx/sites-available/3d.yydd.ai /etc/nginx/sites-enabled/ echo "✅ 站点已启用" # 4. 测试 Nginx 配置 echo "" echo "4. 测试 Nginx 配置..." if nginx -t; then echo "✅ Nginx 配置测试通过" else echo "❌ Nginx 配置测试失败" exit 1 fi # 5. 重启 Nginx echo "" echo "5. 重启 Nginx..." systemctl restart nginx systemctl enable nginx if systemctl is-active --quiet nginx; then echo "✅ Nginx 已成功启动" else echo "❌ Nginx 启动失败" systemctl status nginx exit 1 fi echo "" echo "==========================================" echo " ✅ 配置完成!" echo "==========================================" echo "" echo "📋 配置信息:" echo " 域名: 3D.YYDD.AI" echo " 后端: http://localhost:2320" echo " 上传限制: 无限制" echo " 超时时间: 3600秒(1小时)" echo "" echo "🌐 访问地址:" echo " http://3d.yydd.ai" echo " http://3D.YYDD.AI" echo "" echo "📝 下一步:" echo " 1. 确保域名 3D.YYDD.AI 已解析到 180.97.221.140" echo " 2. 如需 HTTPS,请运行: certbot --nginx -d 3d.yydd.ai -d www.3d.yydd.ai" echo "" echo "✅ 完成!"