# 端口配置核查总结 ## 概述 已完成对所有环境的端口配置核查和统一修改,确保前后端配置一致性。 ## 后端配置 (backend-single) ### 端口统一为: 19089 #### 1. 本地开发环境 (`application-local.yml`) ```yaml server: port: 19089 ``` - ✅ 已确认配置正确 - 数据库: 47.111.10.27:3306/emotion - Redis: localhost:6379 #### 2. 生产环境 (`application-prod.yml`) ```yaml server: port: 19089 ``` - ✅ 已确认配置正确 - 数据库: 47.111.10.27:3306/emotion - Redis: localhost:6379 #### 3. 测试环境 (`application-test.yml`) ```yaml server: port: 19089 ``` - ✅ 新创建配置文件 - 数据库: 47.111.10.27:3306/emotion - Redis: localhost:6379 (database: 1) ## 前端配置 (web-flowith) ### API和WebSocket端点统一 #### 1. 开发环境 (`.env.development`) ```env VITE_API_BASE_URL=http://localhost:19089/api VITE_UPLOAD_URL=http://localhost:19089/api/upload VITE_WS_URL=http://localhost:19089/ws/chat ``` - ✅ 已确认配置正确 #### 2. 生产环境 (`.env.production`) ```env VITE_API_BASE_URL=http://47.111.10.27:19089/api VITE_UPLOAD_URL=http://47.111.10.27:19089/api/upload VITE_WS_URL=http://47.111.10.27:19089/ws/chat ``` - ✅ 已更新配置 (从19000改为19089) #### 3. 测试环境 (`.env.test`) ```env VITE_API_BASE_URL=http://47.111.10.27:19089/api VITE_UPLOAD_URL=http://47.111.10.27:19089/api/upload VITE_WS_URL=http://47.111.10.27:19089/ws/chat ``` - ✅ 新创建配置文件 ## WebSocket服务默认配置 ### 前端WebSocket服务 (`src/services/websocket.ts`) ```typescript const wsUrl = import.meta.env.VITE_WS_URL || 'http://localhost:19089/ws/chat' ``` - ✅ 已更新默认URL (从8080改为19089) ## 配置验证清单 ### ✅ 已完成项目 1. **后端端口统一**: 所有环境都使用19089端口 2. **前端API配置**: 所有环境都指向正确的后端端口 3. **WebSocket配置**: 前端WebSocket URL与后端端点匹配 4. **环境配置完整性**: 本地、测试、生产环境配置齐全 5. **默认配置更新**: WebSocket服务默认URL已更新 ### 🔧 配置详情 #### WebSocket端点路径 - 后端端点: `/ws/chat` - 前端连接: `http://host:19089/ws/chat` - 支持SockJS和原生WebSocket #### API路径前缀 - 后端context-path: `/api` - 前端API调用: `http://host:19089/api/*` #### 数据库配置 - 主机: 47.111.10.27:3306 - 数据库: emotion - 本地/测试: root用户 - 生产: emotion用户 ## 部署说明 ### 本地开发 ```bash # 后端 cd backend-single mvn spring-boot:run -Dspring-boot.run.profiles=local # 前端 cd web-flowith npm run dev ``` ### 测试环境 ```bash # 后端 java -jar emotion-single.jar --spring.profiles.active=test # 前端 npm run build:test ``` ### 生产环境 ```bash # 后端 java -jar emotion-single.jar --spring.profiles.active=prod # 前端 npm run build ``` ## 验证步骤 1. **后端启动验证** - 检查日志确认端口19089启动成功 - 访问 `http://localhost:19089/api/health` 确认API可用 2. **WebSocket连接验证** - 前端聊天页面能正常连接WebSocket - 浏览器开发者工具Network标签页显示WebSocket连接成功 3. **跨环境验证** - 本地开发环境正常工作 - 测试环境部署后功能正常 - 生产环境部署后功能正常 ## 注意事项 1. **防火墙配置**: 确保服务器19089端口对外开放 2. **Nginx配置**: 如使用Nginx代理,需要配置WebSocket支持 3. **SSL证书**: 生产环境建议使用HTTPS和WSS 4. **监控配置**: 建议添加端口和服务监控 ## 故障排查 ### 常见问题 1. **端口被占用**: 使用 `lsof -i :19089` 检查端口占用 2. **WebSocket连接失败**: 检查防火墙和代理配置 3. **跨域问题**: 确认后端CORS配置正确 4. **环境变量**: 确认前端构建时使用正确的环境配置 ### 调试命令 ```bash # 检查端口占用 lsof -i :19089 # 检查服务状态 curl http://localhost:19089/api/health # 检查WebSocket连接 curl -i -N -H "Connection: Upgrade" -H "Upgrade: websocket" -H "Sec-WebSocket-Key: test" -H "Sec-WebSocket-Version: 13" http://localhost:19089/ws/chat ```