5.2 KiB
5.2 KiB
海洋项目管理系统 - 本地部署总结
部署时间
2026-01-26 22:20
部署结果
✅ 部署成功,系统正在运行
系统状态
后端服务
- 状态: ✅ 运行中
- URL: http://localhost:8188
- 健康检查: http://localhost:8188/health
- API文档: http://localhost:8188/docs
- 数据库: MySQL (project_manager)
前端服务
- 状态: ✅ 运行中
- URL: http://localhost:3007
- 类型: Vite开发服务器
- 端口: 3007 (原3000-3006端口已被占用)
部署步骤
1. 配置后端环境变量
创建 /home/xsl/code/ocean_project_manager/backend/.env 文件:
# 数据库配置
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=rootpassword
DB_NAME=project_manager
DB_CHARSET=utf8mb4
# 应用配置
SECRET_KEY=your-secret-key-change-this-in-production
DEBUG=True
# CORS配置
CORS_ORIGINS=["http://localhost:5173","http://localhost:3000","http://127.0.0.1:5173","http://127.0.0.1:3000"]
2. 启动后端服务
cd /home/xsl/code/ocean_project_manager/backend
python3 main.py
后端启动日志显示:
- 数据库表已创建(users, projects等)
- 索引已创建
- 应用启动完成
3. 修复前端代码错误
修复了以下语法错误:
fontWeight: 600',→fontWeight: 600,fontSize: '14px,→fontSize: '14px',fontWeight: 500',→fontWeight: 500,
修复的文件:
frontend/src/pages/Users/UserList.jsxfrontend/src/pages/Login/Login.jsxfrontend/src/pages/Statistics/Statistics.jsxfrontend/src/pages/Projects/ProjectList.jsxfrontend/src/pages/Dashboard/Dashboard.jsx
4. 启动前端服务
cd /home/xsl/code/ocean_project_manager/frontend
npm run dev
前端启动日志显示:
- Vite v5.4.21 开发服务器启动
- 本地访问: http://localhost:3007/
数据库状态
数据库表
- users (用户表)
- projects (项目表)
- project_detail_view (项目详情视图)
- project_statistics (项目统计视图)
初始数据
- ✅ 数据库已创建
- ✅ 表结构已初始化
- ⏳ 初始用户数据(需确认)
- ⏳ 初始项目数据(需确认)
测试验证
后端API测试
# 根路径
curl http://localhost:8188/
# 返回: {"app":"海洋项目管理系统","version":"1.0.0","status":"running"}
# 健康检查
curl http://localhost:8188/health
# 返回: {"status":"healthy"}
前端页面测试
# 前端首页
curl http://localhost:3007/
# 返回: 正常的HTML页面
访问地址
前端界面
后端API
- API文档: http://localhost:8188/docs
- ReDoc文档: http://localhost:8188/redoc
- 健康检查: http://localhost:8188/health
数据库
- 主机: localhost
- 端口: 3306
- 用户: root
- 密码: rootpassword
- 数据库: project_manager
问题修复记录
前端编译错误
修复了多个JSX文件中的语法错误:
- 逗号后多余的单引号(例如:
fontWeight: 600',→fontWeight: 600,) - 未终止的字符串字面量(例如:
fontSize: '14px,→fontSize: '14px',) - map函数返回对象而不是JSX元素
端口冲突
前端端口3000-3006已被占用,自动使用了端口3007。
下一步操作
1. 初始化数据
- 创建管理员账号(用户名:admin,密码:password123)
- 导入初始项目数据(如需要)
2. 功能测试
- 测试用户登录功能
- 测试项目创建功能
- 测试数据查询功能
- 测试权限控制功能
3. 端口调整(可选)
如果需要使用固定端口:
- 修改后端main.py中的端口号(默认8188)
- 修改vite.config.js中的端口号(默认3000)
4. 生产环境部署
- 修改.env配置(DEBUG=False)
- 设置生产环境的SECRET_KEY
- 配置正确的数据库连接信息
注意事项
安全提醒
- ⚠️ 当前使用的SECRET_KEY是示例密钥,生产环境必须更改
- ⚠️ 当前数据库密码是rootpassword,生产环境必须更改
- ⚠️ DEBUG模式已开启,生产环境必须关闭
性能优化
- 前端当前运行在开发模式(npm run dev),生产环境应使用构建版本(npm run build)
- 后端当前使用单进程,生产环境应使用gunicorn + uvicorn workers
数据备份
- 定期备份数据库
- 定期备份项目代码
服务管理
启动服务
# 启动后端
cd /home/xsl/code/ocean_project_manager/backend
python3 main.py
# 启动前端
cd /home/xsl/code/ocean_project_manager/frontend
npm run dev
停止服务
# 停止后端
pkill -f "python3 main.py"
# 停止前端
pkill -f "npm run dev"
查看日志
# 后端日志
tail -f /tmp/backend.log
# 前端日志
tail -f /tmp/frontend.log
总结
✅ 部署成功: 系统已在本地成功部署并运行 ✅ 后端正常: API服务运行在 http://localhost:8188 ✅ 前端正常: Web界面运行在 http://localhost:3007 ✅ 数据库正常: MySQL数据库连接正常
系统已准备好进行功能测试和开发工作。
部署人: 技术总监 部署时间: 2026-01-26 22:20 状态: ✅ 成功