事业单位综合档案管理系统:技术选型与快速部署指南

一、系统架构与核心组件选型

本方案采用成熟稳定的B/S架构,前后端分离,便于维护和扩展。核心组件均选用开源免费且社区活跃的技术栈。

1.1 技术栈清单

  • 后端框架: Spring Boot 2.7.x (Java 11)
  • 前端框架: Vue.js 3.x + Element Plus
  • 数据库: MySQL 8.0.x
  • 全文检索: Elasticsearch 7.17.x
  • 文件存储: MinIO (对象存储,替代FTP)
  • 缓存: Redis 6.x
  • 部署: Docker + Docker Compose

1.2 环境准备

准备一台CentOS 7.9服务器,最低配置4核8G内存,100G硬盘。以root用户登录,执行以下命令初始化环境:

```bash 1. 关闭防火墙(内网环境)或配置策略(生产环境) systemctl stop firewalld systemctl disable firewalld 2. 安装必要工具 yum install -y wget vim net-tools 3. 安装Docker curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun systemctl start docker systemctl enable docker 4. 安装Docker Compose curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose ```

二、使用Docker Compose一键部署基础服务

在服务器上创建目录 `/opt/archives`,并在此目录下创建 `docker-compose.yml` 文件。

2.1 编写Docker Compose配置文件

将以下内容完整复制到 `/opt/archives/docker-compose.yml` 中:

```yaml version: '3.8' services: mysql: image: mysql:8.0.33 container_name: archives-mysql restart: always environment: MYSQL_ROOT_PASSWORD: Archives@2024Root MYSQL_DATABASE: archives_db ports: - "3306:3306" volumes: - ./data/mysql:/var/lib/mysql - ./config/mysql/my.cnf:/etc/mysql/conf.d/my.cnf command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci redis: image: redis:6.2-alpine container_name: archives-redis restart: always ports: - "6379:6379" volumes: - ./data/redis:/data command: redis-server --appendonly yes --requirepass Archives@2024Redis elasticsearch: image: elasticsearch:7.17.16 container_name: archives-es restart: always environment: - discovery.type=single-node - "ES_JAVA_OPTS=-Xms512m -Xmx512m" - xpack.security.enabled=false ulimits: memlock: soft: -1 hard: -1 ports: - "9200:9200" - "9300:9300" volumes: - ./data/elasticsearch:/usr/share/elasticsearch/data minio: image: minio/minio:RELEASE.2024-01-16T16-07-38Z container_name: archives-minio restart: always ports: - "9000:9000" - "9001:9001" environment: MINIO_ROOT_USER: archivesadmin MINIO_ROOT_PASSWORD: Archives@2024Minio volumes: - ./data/minio:/data command: server /data --console-address ":9001" ```

保存文件后,在 `/opt/archives` 目录下执行:

```bash docker-compose up -d ```

等待所有容器启动完成,使用 `docker ps` 命令检查状态,确保所有服务状态为 `Up`。

2.2 初始化MinIO存储桶

通过浏览器访问 `http://你的服务器IP:9001`,使用上面配置的用户名 `archivesadmin` 和密码 `Archives@2024Minio` 登录。

  1. 点击左侧菜单 Buckets
  2. 点击 Create Bucket 按钮。
  3. 输入Bucket名称为 archives-files
  4. 点击 Create Bucket 完成创建。

三、后端服务部署与配置

后端服务我们使用一个预先构建好的、包含基础档案管理功能的Spring Boot应用JAR包。

3.1 下载并配置应用

在服务器上执行以下命令:

```bash cd /opt/archives wget https://demo-resources.oss-cn-beijing.aliyuncs.com/archives-backend-1.0.0.jar mkdir config ```

创建应用配置文件 `config/application-prod.yml`:

```yaml server: port: 8080 spring: datasource: url: jdbc:mysql://你的服务器IP:3306/archives_db?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false username: root password: Archives@2024Root driver-class-name: com.mysql.cj.jdbc.Driver redis: host: 你的服务器IP port: 6379 password: Archives@2024Redis database: 0 servlet: multipart: max-file-size: 500MB max-request-size: 500MB 文件存储配置 (MinIO) minio: endpoint: http://你的服务器IP:9000 accessKey: archivesadmin secretKey: Archives@2024Minio bucketName: archives-files 全文检索配置 elasticsearch: host: 你的服务器IP port: 9200 应用配置 app: admin-default-password: admin123 初始管理员密码 ```

注意:将上面配置中所有的“你的服务器IP”替换为你服务器的实际内网IP地址。

3.2 启动后端服务

使用以下命令启动Spring Boot应用:

```bash cd /opt/archives nohup java -jar archives-backend-1.0.0.jar --spring.config.location=file:./config/application-prod.yml > backend.log 2>&1 & ```

事业单位综合档案管理系统:技术选型与快速部署指南

检查服务是否启动成功:

```bash tail -f backend.log ```

当看到日志出现 "Started Application in X.XXX seconds" 时,表示启动成功。也可以通过访问 `http://你的服务器IP:8080/api/health` 来检查,返回 `{"status":"UP"}` 即正常。

四、前端服务部署与配置

4.1 下载并配置前端静态文件

在服务器上执行:

```bash cd /opt/archives wget https://demo-resources.oss-cn-beijing.aliyuncs.com/archives-frontend-dist.zip unzip archives-frontend-dist.zip -d frontend ```

进入前端目录,修改API接口地址配置:

```bash cd frontend vim config.js ```

将文件内容修改为:

```javascript window.GLOBAL_CONFIG = { baseURL: 'http://你的服务器IP:8080' }; ```

将“你的服务器IP”替换为你的服务器IP。

4.2 使用Nginx提供前端访问

安装Nginx:

```bash yum install -y nginx ```

创建Nginx配置文件 `/etc/nginx/conf.d/archives.conf`:

```nginx server { listen 80; server_name 你的服务器IP或域名; location / { root /opt/archives/frontend; index index.html index.htm; try_files $uri $uri/ /index.html; } location /api/ { proxy_pass http://你的服务器IP:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } ```

启动Nginx:

```bash systemctl start nginx systemctl enable nginx ```

五、系统初始化与基础操作

5.1 首次登录与初始化

  1. 打开浏览器,访问 `http://你的服务器IP`。
  2. 使用默认管理员账号登录:
    • 用户名:admin
    • 密码:admin123 (即配置文件中设置的密码)
  3. 登录后,系统会强制要求修改密码,请设置一个强密码。
  4. 进入“系统管理” -> “部门管理”,添加你单位的部门结构。
  5. 进入“系统管理” -> “用户管理”,为各部门同事创建账号。

5.2 创建档案分类

  1. 点击左侧菜单“档案管理” -> “分类管理”。
  2. 点击“新增”按钮,创建分类树,例如:
    • 文书档案
      • 党群工作
      • 行政管理
    • 业务档案
      • 人事劳资
      • 财务审计
  3. 为每个分类设置归档规则,如保管期限(永久、30年、10年)、密级等。

5.3 录入第一份档案

  1. 点击左侧菜单“档案管理” -> “档案录入”。
  2. 填写档案基本信息:题名、文号、责任者、日期、页数等。
  3. 上传电子文件:点击“添加文件”,选择本地文件上传。系统会自动将文件存储到MinIO,并生成预览链接。
  4. 设置检索标签:在“关键词”字段输入多个关键词,用逗号分隔,这些关键词将被同步到Elasticsearch用于全文检索。
  5. 点击“提交”,档案进入待归档状态。
  6. 具有归档权限的用户在“待归档列表”中审核后,点击“归档”,档案正式入库。

5.4 检索与借阅档案

  1. 全文检索:在首页搜索框输入任意关键词,系统会从档案题名、文号、关键词、甚至上传的PDF/Word文件内容中进行全文匹配。
  2. 高级检索:点击搜索框旁的“高级检索”,可以按部门、日期范围、密级、保管期限等多条件组合查询。
  3. 申请借阅:在档案详情页,点击“申请借阅”,选择借阅用途和预计归还时间。审批人会在“借阅审批”列表中收到通知。
  4. 电子借阅:对于已数字化的档案,审批通过后,借阅人可以直接在线查看电子文件,系统会记录水印和访问日志。

六、日常维护与数据备份

6.1 数据库自动备份

创建备份脚本 `/opt/archives/backup_mysql.sh`:

```bash !/bin/bash BACKUP_DIR="/opt/archives/backup/mysql" DATE=$(date +%Y%m%d_%H%M%S) docker exec archives-mysql mysqldump -uroot -pArchives@2024Root archives_db > ${BACKUP_DIR}/archives_db_${DATE}.sql 保留最近7天备份 find ${BACKUP_DIR} -name ".sql" -mtime +7 -delete ```

设置可执行权限并添加到定时任务:

```bash chmod +x /opt/archives/backup_mysql.sh crontab -e ```

在crontab中添加一行,表示每天凌晨2点执行备份:

``` 0 2 /opt/archives/backup_mysql.sh ```

6.2 MinIO文件存储备份

MinIO数据已通过Docker卷映射到宿主机的 `./data/minio` 目录,只需定期备份此目录即可。可以使用rsync同步到另一台服务器。

6.3 服务监控与日志查看

  • 查看后端日志tail -f /opt/archives/backend.log
  • 查看容器状态docker psdocker logs archives-mysql(以查看具体容器日志)
  • 检查磁盘空间:定期执行 df -h,重点关注 `/opt/archives/data` 目录所在磁盘。

6.4 系统升级

  1. 备份数据库和配置文件。
  2. 停止后端服务:pkill -f archives-backend
  3. 替换新的JAR包到 `/opt/archives` 目录。
  4. 重新启动后端服务(参考3.2节命令)。
  5. 前端升级则替换 `/opt/archives/frontend` 目录下的静态文件,并重启Nginx:systemctl restart nginx
AI咨询
热线电话

028-85154420

15388110056

全国售前咨询电话

扫码咨询
安答联动微信公众号二维码

微信扫码关注安答联动

申请试用
热线电话
申请试用

安答联动档案管理系统