从零搭建开源档案学籍管理系统 全流程无坑可落地实操完整指南
一、前置环境准备
1.1 硬件最低配置
2核4G云服务器/本地虚拟机,硬盘不小于50G,操作系统推荐Ubuntu22.04/CentOS7。
1.2 依赖软件安装
执行以下命令一键安装所有依赖,复制即可运行:
``` Ubuntu22.04系统执行 sudo apt update 安装jdk11(必须使用11版本,避免兼容性问题) sudo apt install openjdk-11-jdk -y 安装mysql8 sudo apt install mysql-server-8.0 -y 安装nginx sudo apt install nginx -y 安装node16 curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - sudo apt install nodejs -y 安装maven sudo apt install maven -y ```安装完成后执行java -version、node -v验证,返回对应版本号即为安装成功。
二、系统部署全步骤
2.1 后端服务部署
1. 拉取开源源码:
``` git clone https://gitee.com/linjiabin100/student-manage.git ```2. 修改后端配置文件,进入student-manage/src/main/resources目录,新建application-prod.yml,复制以下内容直接使用,仅需修改数据库账号密码、服务器IP:
3. 打包后端项目,进入源码根目录执行:
``` mvn clean package -DskipTests ```4. 启动后端服务,打包完成后jar包在target/student-manage.jar,执行以下命令后台启动:

执行tail -f backend.log查看日志,出现“启动成功”字样即为后端运行正常。
2.2 前端页面部署
1. 进入前端目录cd student-manage-ui,修改生产环境配置文件.env.production:
2. 编译打包前端代码:
``` npm install --registry=https://registry.npmmirror.com npm run build:prod ```3. 将打包生成的dist目录移动到nginx站点目录:mv dist /var/www/student/
4. 配置nginx,进入/etc/nginx/sites-available目录,新建student.conf,复制以下内容:
5. 启用配置并重启nginx:
``` ln -s /etc/nginx/sites-available/student.conf /etc/nginx/sites-enabled/ nginx -t && systemctl restart nginx ```三、系统初始化配置
3.1 数据库初始化
1. 登录mysql创建数据库:
``` mysql -u root -p 输入密码后执行 create database student_manage default character set utf8mb4 collate utf8mb4_general_ci; use student_manage; 导入初始sql,替换为你的源码实际存放路径 source /root/student-manage/sql/student_manage.sql; ```2. 初始化完成后,访问你的服务器IP,默认管理员账号密码为admin / 123456。
3.2 核心功能配置
- 档案字段自定义:登录后台→系统管理→字典管理,新增“学籍档案字段”字典类型,可添加入学时间、户籍地址、奖惩记录、毕业去向等自定义字段,配置后学籍录入页面会自动加载对应字段
- 上传权限配置:执行
mkdir -p /opt/upload && chmod 777 /opt/upload给上传目录赋权,避免档案、附件上传失败 - 审批流程配置:系统管理→流程管理→导入流程模板,选择源码目录下的
sql/student_approval.bpmn20.xml,可自定义学籍调阅、信息修改的审批节点,支持配置辅导员、教务处、档案室多级审批人
四、常见问题排查
- 前端访问404:检查nginx配置是否添加了
try_files $uri $uri/ /index.html;,确保dist目录路径与nginx配置一致 - 后端接口跨域:检查nginx的proxy_pass配置是否正确,不要漏写末尾的斜杠,同时确认后端服务已经正常启动
- 档案上传失败:检查/opt/upload目录权限,或者修改application-prod.yml中的上传路径为当前服务器有权限的目录
- 批量导入失败:严格使用系统提供的导入模板,不要修改表头格式,日期字段必须按照yyyy-MM-dd格式填写,必填字段不能为空
- 流程审批不生效:检查流程定义是否已经部署,对应节点的审批人是否配置了正确的用户ID