锦州档案软件本地化部署与二次开发实战
一、基础环境准备与依赖安装
在开始构建锦州档案管理系统之前,必须确保服务器环境满足运行条件。本系统采用 Python 3.9 作为后端核心,Vue 3 作为前端框架,MySQL 8.0 作为数据存储。以下操作基于 CentOS 7.9 系统进行演示。
1. 安装 Python 3.9 及环境管理工具
系统默认的 Python 版本较低,我们需要编译安装高版本。执行以下命令直接下载源码包并进行编译安装:
```bash 安装编译依赖 yum install -y gcc openssl-devel bzip2-devel libffi-devel zlib-devel 下载 Python 3.9.16 源码 cd /usr/src wget https://www.python.org/ftp/python/3.9.16/Python-3.9.16.tgz tar -zxvf Python-3.9.16.tgz cd Python-3.9.16 编译安装,指定安装目录为 /usr/local/python39 ./configure --prefix=/usr/local/python39 make && make install 配置软链接 ln -s /usr/local/python39/bin/python3.9 /usr/bin/python3 ln -s /usr/local/python39/bin/pip3.9 /usr/bin/pip3 ```安装完成后,配置虚拟环境以隔离项目依赖:
```bash pip3 install virtualenv mkdir -p /data/jinzhou_arch cd /data/jinzhou_arch virtualenv venv source venv/bin/activate ```2. 安装 MySQL 8.0 数据库
档案管理对数据的一致性要求极高,MySQL 是最佳选择。直接使用官方 Yum 源安装:
```bash 下载 MySQL 8.0 RPM 包 wget https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm rpm -ivh mysql80-community-release-el7-7.noarch.rpm 安装服务 yum install -y mysql-server 启动并设置开机自启 systemctl start mysqld systemctl enable mysqld ```获取临时密码并修改 root 密码,同时创建专用数据库:
```bash 获取临时密码 grep 'temporary password' /var/log/mysqld.log 登录 MySQL(替换下方密码为临时密码) mysql -uroot -p 在 MySQL 命令行中执行 ALTER USER 'root'@'localhost' IDENTIFIED BY 'Jz@Arch2024Secure'; CREATE DATABASE jinzhou_arch_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'jz_user'@'%' IDENTIFIED BY 'Jz@User2024Secure'; GRANT ALL PRIVILEGES ON jinzhou_arch_db. TO 'jz_user'@'%'; FLUSH PRIVILEGES; ```二、数据库表结构设计
针对锦州档案管理的实际业务需求,我们需要设计符合档案局标准的表结构。这里设计核心的archives表,包含全宗号、档号、题名等关键字段。
在 MySQL 中执行以下 SQL 脚本初始化表结构:
```sql USE jinzhou_arch_db; CREATE TABLE `archives` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', `fond_code` varchar(50) NOT NULL COMMENT '全宗号', `catalog_code` varchar(50) NOT NULL COMMENT '目录号', `archive_no` varchar(100) NOT NULL COMMENT '档号', `title` varchar(500) NOT NULL COMMENT '题名', `responsibility` varchar(200) DEFAULT NULL COMMENT '责任者', `date` varchar(20) DEFAULT NULL COMMENT '日期', `retention_period` varchar(20) DEFAULT NULL COMMENT '保管期限', `security_level` varchar(20) DEFAULT NULL COMMENT '密级', `file_path` varchar(500) DEFAULT NULL COMMENT '电子文件路径', `file_size` bigint(20) DEFAULT '0' COMMENT '文件大小(字节)', `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`id`), UNIQUE KEY `uk_archive_no` (`archive_no`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='档案管理主表'; ```三、后端服务开发
后端采用 FastAPI 框架,因其高性能且原生支持异步,非常适合文件上传密集型业务。
1. 安装 Python 依赖
在/data/jinzhou_arch目录下创建requirements.txt并写入以下内容:

执行安装命令:
```bash pip install -r requirements.txt ```2. 编写核心业务代码
创建项目目录结构并编写主程序main.py。该代码实现了档案的增删改查及文件上传功能。
四、前端管理界面开发
使用 Vue 3 配合 Element Plus 快速构建上传界面。
1. 初始化 Vue 项目
```bash npm install -g @vue/cli vue create jz-arch-web cd jz-arch-web npm install element-plus axios ```2. 编写上传组件
修改src/App.vue,实现文件上传和元数据录入表单:
锦州档案管理-档案录入
五、生产环境部署配置
开发完成后,需要将服务部署到生产环境。使用 Gunicorn 启动后端,Nginx 反向代理。
1. 配置 Systemd 守护进程
创建服务文件/etc/systemd/system/jz_arch.service:
启动服务:
```bash systemctl daemon-reload systemctl start jz_arch systemctl status jz_arch ```2. 配置 Nginx 反向代理
编辑 Nginx 配置文件/etc/nginx/conf.d/jz_arch.conf:
检查配置并重启 Nginx:
```bash nginx -t systemctl restart nginx ```至此,锦州档案管理系统的后端、数据库及前端部署已全部完成。你可以通过浏览器访问服务器 IP 地址进行档案的录入与上传操作。