基于 Spring Cloud Alibaba 微服务架构的兼职招聘平台。
前置条件:
- Docker Desktop 20.10+
- Docker Compose V2
三步部署:
REM 步骤1:检查环境
cd scripts && .\docker-check.bat
REM 步骤2:一键部署
cd scripts && .\docker-deploy.bat
REM 步骤3:访问应用
REM 打开浏览器:http://localhost:3000常用命令:
- 停止服务:
cd scripts && .\docker-stop.bat - 查看日志:
cd scripts && .\docker-logs.bat
📖 完整 Docker 指南:详见下方 Docker 部署章节
REM 以管理员身份运行
cd scripts && .\setup-all.bat安装以下软件:
- JDK 21
- Maven 3.9+
- PostgreSQL 15+
- Redis 6+
- Nacos 2.2.3
- Node.js 18+
Windows 快速安装:
choco install temurin21 maven postgresql18 memurai-developer nodejs -yREM 一键安装依赖
cd scripts && .\setup-all.bat
REM 一键启动(会打开各个服务的窗口)
cd scripts && .\start-all.bat- 前端页面:http://localhost:5173
- API 网关:http://localhost:8080
- Nacos 控制台:http://localhost:8848/nacos(账号密码:nacos/nacos)
测试账号:
- 求职者:seeker001 / 123456
- HR:hr001 / 123456
- 管理员:admin / 123456
所有 Windows 批处理脚本都有对应的 Linux Shell 脚本版本,支持跨平台使用。
| Windows 脚本 | Linux 脚本 | 说明 |
|---|---|---|
setup-all.bat |
setup-all.sh |
一键安装依赖 |
start-all.bat |
start-all.sh |
一键启动服务 |
docker-deploy.bat |
docker-deploy.sh |
Docker 部署脚本 |
setup-docker-mirror.bat |
setup-docker-mirror.sh |
Docker 镜像加速器配置 |
cd /path/to/JobPlus/scripts
chmod +x *.shcd scripts
./setup-all.sh该脚本会:
- 检查 Java、Maven、Node.js、npm 是否已安装
- 预下载后端 Maven 依赖
- 编译后端模块
- 安装前端 npm 依赖
cd scripts
./start-all.sh该脚本会:
- 在独立终端窗口中启动 5 个微服务(网关、认证、用户、职位、简历)
- 等待 8 秒后启动前端开发服务器
- 显示所有服务的访问地址
注意:脚本默认使用 xterm 或 gnome-terminal。如果你的系统使用其他终端模拟器,可能需要调整脚本。
cd scripts
./docker-deploy.shcd scripts
sudo ./setup-docker-mirror.sh注意:该脚本需要 sudo 权限来重启 Docker 服务。
如果遇到 "Permission denied" 错误,请确保设置了执行权限:
cd scripts
chmod +x *.sh如果 java、mvn、node 命令找不到,请添加到 PATH:
export PATH=/path/to/java/bin:$PATH
export PATH=/path/to/maven/bin:$PATH
export PATH=/path/to/node/bin:$PATHstart-all.sh 默认使用 xterm 或 gnome-terminal。其他桌面环境:
- 安装 xterm:
sudo apt install xterm(Debian/Ubuntu) - 或修改脚本以使用你系统的终端模拟器
如果 Docker 命令需要 sudo,将你的用户加入 docker 组:
sudo usermod -aG docker $USER
# 重新登录生效# 停止所有 Java 服务
pkill -f "mvn spring-boot:run"
# 停止前端服务
pkill -f "npm run dev"
# 停止 Nacos
pkill -f "startup.sh"或使用停止脚本:
cd scripts
./stop-all.sh # 如果存在cd scripts
./docker-deploy.sh down
# 或
docker-compose down所有服务日志保存在 logs/ 目录:
# 查看最新日志
tail -f logs/gateway-*.log
tail -f logs/frontend-*.log
# 列出所有日志文件
ls -la logs/要修改脚本行为,请编辑对应的 .sh 文件。主要可配置项:
- 服务端口:修改各服务的
application.yml - 数据库连接:修改
.env文件或application.yml
JobPlus/
+-- backend/ # 后端微服务
| +-- common/ # 公共模块
| +-- gateway/ # API 网关(端口:8080)
| +-- auth-service/ # 认证服务(端口:8081)
| +-- user-service/ # 用户服务(端口:8082)
| +-- job-service/ # 职位服务(端口:8083)
| +-- resume-service/ # 简历服务(端口:8084)
+-- frontend/ # 前端应用(端口:3000/5173)
+-- scripts/ # 部署与工具脚本
| +-- setup-all.* # 依赖安装脚本
| +-- start-all.* # 服务启动脚本
| +-- docker-deploy.* # Docker 部署脚本
| +-- setup-docker-mirror.* # Docker 镜像加速器配置
| +-- init-postgresql.sql # 数据库表结构
+-- logs/ # 应用日志
+-- docker-compose.yml # Docker 编排配置
+-- .env # 环境变量配置
+-- README.md # 项目说明文档
+-- LICENSE # 许可证文件
Docker 模式:
REM Windows
cd scripts
docker compose up -d --build# Linux
cd scripts
docker compose up -d --build本地模式:
- 用 Ctrl+C(Windows)或 pkill 命令(Linux)停止服务窗口。
- 重新运行
cd scripts && start-all.bat(Windows)或cd scripts && ./start-all.sh(Linux)。
Docker 模式:
REM Windows
cd scripts
.\docker-logs.bat
# 或
docker compose logs -f [服务名]# Linux
cd scripts
docker compose logs -f [服务名]本地模式:
# Windows PowerShell
Get-Content "logs\start-all-*.log" -Tail 50# Linux
tail -f logs/start-all-*.log如果使用 JDK 25,可能会遇到 Lombok 编译错误。解决方法:
- 降级到 JDK 21(推荐)
- 或更新 Lombok 到支持 JDK 25 的最新版本
如果 Docker 已安装但未检测到:
- 确保 Docker Desktop 正在运行
- 运行
cd scripts && .\fix-docker-env.bat修复环境变量 - 重启终端
详见上方 Linux 支持章节。
如果端口已被占用:
- 修改
application.yml文件中的端口配置 - 或停止占用该端口的进程
确保 PostgreSQL 正在运行且可访问:
# 检查 PostgreSQL 状态
pg_isready
# 初始化数据库(本机 PostgreSQL)
psql -U postgres -f ./scripts/init-postgresql.sql确保 Nacos 正在运行:
# 检查 Nacos 状态
curl http://localhost:8848/nacos
本项目仅供学习交流使用。