# tcm-training 项目线上 Nginx 配置片段 # 使用方式: # 1. 保持现有 doc/nginx.conf 不变。 # 2. 将下面的 location 配置按需合并到线上 443 的 server 块中。 # 3. 管理后台构建产物部署到 /usr/local/project/tcm-training/admin/。 # 4. 后端 Spring Boot 服务启动在 127.0.0.1:48080。 # 5. 如需统一项目部署目录,推荐使用 /usr/local/project/tcm-training/ 作为项目根目录。 server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name haizhentong.com; # 管理后台访问 /admin 时补全尾部斜杠,确保静态资源路径与 publicPath 对齐。 location = /admin { return 301 /admin/; } # 如需兼容旧入口,可将 /manage 平滑跳转到新的 /admin/。 location = /manage { return 301 /admin/; } # 管理后台为 Umi 构建产物,直接由 Nginx 托管静态文件。 location /admin/ { alias /usr/local/project/tcm-training/admin/; index index.html; try_files $uri $uri/ /admin/index.html; } # 后端接口统一走 /api/ 前缀。 location /api/ { proxy_pass http://127.0.0.1:48080; proxy_read_timeout 60s; 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; } # 本地上传文件与 APP 安装包统一通过 Spring Boot 的 /uploads/** 静态映射对外提供访问。 location /uploads/ { proxy_pass http://127.0.0.1:48080; proxy_read_timeout 60s; 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; } # 邀请二维码落地页入口,补全尾部斜杠时保留邀请码查询参数。 location = /app-download { return 301 /app-download/$is_args$args; } # 邀请下载页由 Spring Boot 内置静态资源提供,页面内部仍会请求 /api/open/app-invite/landing。 location /app-download/ { proxy_pass http://127.0.0.1:48080; proxy_read_timeout 60s; 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; } } # 管理后台部署补充说明: # 1. 生产构建命令:cd tcm-training-admin && npm run build:prod # 2. 构建产物目录:tcm-training-admin/admin # 3. 线上部署目录建议:/usr/local/project/tcm-training/admin/ # 4. 线上访问地址:https://haizhentong.com/admin/ # 5. 后端接口地址:https://haizhentong.com/api/ # 6. 本地上传文件与 APP 安装包访问地址:https://haizhentong.com/uploads/... # 7. 邀请二维码落地页地址:https://haizhentong.com/app-download/?inviteCode=XXXXXX # 8. 管理后台生产环境接口基地址需要配置为 /api,避免页面继续请求本地开发地址。 # 9. 若 /uploads/... 线上返回 404,先确认本段 location 已合并并 reload,再检查文件是否写入 /data/tcm-training-admin/uploads/。