工程档案管理系统从零部署到核心功能配置实操落地全指南
一、前期环境准备
本指南基于开源工程档案系统实现,支持CentOS7.9/Windows10+操作系统,所有依赖版本均经过稳定性验证,可直接复用。
1.1 基础依赖安装
以下为CentOS环境下一键安装命令,Windows环境可直接访问对应官网下载同版本安装包一键安装:
- JDK1.8:执行命令
yum install -y java-1.8.0-openjdk-devel,安装完成后执行java -version,返回openjdk version "1.8.0_xxx"即为成功 - MySQL5.7:依次执行以下命令:
安装完成后执行yum install -y https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm yum install -y mysql-community-server systemctl start mysqld && systemctl enable mysqldgrep 'temporary password' /var/log/mysqld.log获取初始密码,登录MySQL后执行以下语句创建专属库:CREATE DATABASE engineering_archive DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; - Redis5.0:执行命令
yum install -y redis && systemctl start redis && systemctl enable redis,执行redis-cli ping返回PONG即为成功
二、系统包获取与基础部署
2.1 安装包下载
执行以下命令直接下载稳定版安装包:
wget https://gitee.com/smallbun/engineering-archive/releases/download/v1.2.0/engineering-archive.jar
2.2 配置文件编写
在jar包同级目录创建application-prod.yml文件,将以下内容完整复制,仅需替换标注的数据库密码、OCR密钥等参数即可:
server:
port: 8080
servlet:
context-path: /
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/engineering_archive?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
username: root
password: 此处替换为你的MySQL密码
redis:
host: 127.0.0.1
port: 6379
password: ''
servlet:
multipart:
max-file-size: 1024MB
max-request-size: 1024MB
web:
resources:
static-locations: classpath:/static/,file:./upload/
mybatis-plus:
mapper-locations: classpath:mapper//.xml
configuration:
map-underscore-to-camel-case: true
ocr:
api-key: 此处替换为百度OCR的API Key
secret-key: 此处替换为百度OCR的Secret Key
2.3 系统启动
执行以下命令后台启动系统:
nohup java -jar engineering-archive.jar --spring.profiles.active=prod &
执行tail -f nohup.out查看启动日志,出现“Started EngineeringArchiveApplication in x seconds”即为启动成功,访问服务器IP:8080即可进入登录页,默认账号:admin,默认密码:123456。
三、核心功能配置实操
3.1 工程档案分类配置

按以下步骤配置符合国标要求的档案分类:
- 登录后台→左侧菜单【系统管理】→【字典管理】→找到“工程档案分类”字典
- 点击【编辑】,新增以下分类,分类编码必须唯一,否则后续档案上传会报错:
- 前期准备文件,编码QS01
- 监理文件,编码JL01
- 施工文件,编码SG01
- 竣工图,编码JGT01
- 竣工验收文件,编码JYS01
- 保存后刷新页面,档案上传页即可看到对应分类选项
3.2 角色权限配置
按以下步骤配置不同岗位的操作权限:
- 左侧菜单【系统管理】→【角色管理】→点击【新增】,创建资料员、监理员、管理员三类角色
- 点击对应角色的【权限分配】按钮,普通用户不要开放【永久删除】【系统配置】权限,避免档案误删或系统配置被篡改:
- 资料员:勾选档案上传、编辑、查看、下载权限
- 监理员:勾选档案审核、查看、下载权限
- 管理员:勾选所有权限
- 在【用户管理】中创建对应用户,绑定对应角色即可
3.3 OCR识别配置
系统支持扫描件自动提取档案编号、工程名称,可大幅提升归档效率,配置步骤:
- 访问https://cloud.baidu.com/product/ocr/general 注册百度智能云通用文字识别服务,新用户可获取1000次/月免费额度,足够中小工程使用
- 进入控制台获取API Key和Secret Key,填入之前的application-prod.yml对应位置
- 执行
ps -ef | grep engineering-archive找到进程ID,执行kill -9 进程ID后重新启动系统即可生效
四、访问优化与自动备份配置
4.1 Nginx反向代理配置
安装Nginx1.20后,编辑/etc/nginx/nginx.conf文件,在http块中添加以下server配置,替换为你自己的域名或服务器IP:
server {
listen 80;
server_name 你的域名或服务器IP;
client_max_body_size 1024M;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
执行nginx -t验证配置,返回success后执行nginx -s reload生效,后续即可直接通过域名/IP访问系统,无需加8080端口。
4.2 自动备份配置
执行mkdir /backup创建备份目录,执行crontab -e添加以下定时任务,实现每天凌晨2点自动备份数据库和档案文件:
0 2 mysqldump -u root -p你的MySQL密码 engineering_archive > /backup/archive_db_$(date +%Y%m%d).sql
0 2 tar -zcf /backup/archive_file_$(date +%Y%m%d).tar.gz /root/engineering-archive/upload
建议每周手动下载一次备份文件到本地,避免服务器故障导致档案丢失。
五、常见问题排查
- 档案上传失败:优先检查Nginx的client_max_body_size参数是否大于上传文件大小,其次检查upload目录权限,执行
chmod 777 /root/engineering-archive/upload赋权即可 - 登录页打不开:执行
firewall-cmd --add-port=80/tcp --permanent && firewall-cmd --reload开放80端口,再检查Java进程是否存在,不存在则重新执行启动命令 - OCR识别失败:检查配置文件中的API Key和Secret Key是否正确,确认百度智能云账户没有欠费