档案安全中心标准化搭建与日常档案运维全流程实操落地指南
一、前置准备工作
1.1 软硬件环境要求
提前准备满足以下配置的服务器,避免后续运行出现性能瓶颈:
- 硬件:4核8G内存、1T SSD存储、固定公网IP
- 系统:CentOS 7.9 64位,提前执行
setenforce 0关闭SELinux,修改/etc/selinux/config中SELINUX=disabled永久关闭 - 需放行端口:80(web访问)、3306(数据库)、8080(应用服务)、22(远程运维),放行命令:
firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --zone=public --add-port=3306/tcp --permanent firewall-cmd --zone=public --add-port=8080/tcp --permanent firewall-cmd --reload
1.2 提前创建所需目录
执行以下命令统一创建程序、存储、备份目录,避免后续路径不存在报错:

mkdir -p /usr/local/archive /data/archive_files /data/backup /usr/local/archive/logs
二、档案安全中心标准化搭建步骤
2.1 基础依赖安装
所有依赖均提供官方镜像源,可直接复制命令执行:
- 安装JDK1.8:
wget https://repo.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gz tar -zxvf jdk-8u202-linux-x64.tar.gz -C /usr/local/ echo "export JAVA_HOME=/usr/local/jdk1.8.0_202" >> /etc/profile echo "export PATH=\$JAVA_HOME/bin:\$PATH" >> /etc/profile source /etc/profile 验证安装,返回版本号即成功 java -version - 安装MySQL8.0:
卸载自带mariadb rpm -qa | grep mariadb | xargs rpm -e --nodeps 安装官方源 yum install -y https://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm 安装MySQL服务 yum install -y mysql-community-server --nogpgcheck 启动并设置开机自启 systemctl start mysqld systemctl enable mysqld 获取初始密码 temp_pass=$(grep 'temporary password' /var/log/mysqld.log | awk '{print $NF}') 登录修改密码并创建档案库 mysql -uroot -p$temp_pass --connect-expired-password -e "ALTER USER 'root'@'localhost' IDENTIFIED BY 'DangAn@2024';CREATE DATABASE archive_security DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;" 授权远程访问(如有需要) mysql -uroot -p'DangAn@2024' -e "CREATE USER 'root'@'%' IDENTIFIED BY 'DangAn@2024';GRANT ALL ON archive_security. TO 'root'@'%';FLUSH PRIVILEGES;" - 安装Nginx1.20:
yum install -y nginx systemctl start nginx systemctl enable nginx 验证安装,访问服务器IP出现Nginx欢迎页即成功
2.2 档案安全中心应用部署
- 下载开源稳定版应用包:
cd /usr/local/archive wget https://github.com/osarch/archive-security-center/releases/download/v1.2.0/archive-security.jar - 创建应用配置文件
application.yml,可直接复制以下内容:server: port: 8080 spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/archive_security?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai username: root password: DangAn@2024 servlet: multipart: max-file-size: 10GB max-request-size: 10GB archive: storage-path: /data/archive_files log-retention-days: 180 - 创建启动脚本
start.sh:!/bin/bash nohup java -jar archive-security.jar --spring.config.location=./application.yml > logs/start.log 2>&1 & echo "应用启动中,10秒后可查看状态" sleep 10 curl localhost:8080/health - 执行启动命令:
chmod +x start.sh && ./start.sh,返回status:ok即启动成功 - 配置Nginx反向代理,在
/etc/nginx/conf.d下创建archive.conf:server { listen 80; server_name 你的服务器公网IP; client_max_body_size 10G; location / { proxy_pass http://127.0.0.1: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 -t验证配置无误后,执行nginx -s reload重载配置,访问服务器公网IP即可进入系统,默认管理员账号admin,密码Admin@123,首次登录强制修改为强密码。
三、日常档案运维实操规范
3.1 每日巡检操作
所有巡检项均可通过命令快速验证,无遗漏:
- 服务器状态:执行
top查看CPU、内存使用率,执行df -h查看磁盘使用率,磁盘使用率超过80%立即清理过期备份文件 - 应用状态:执行
ps -ef | grep archive-security查看进程是否存在,访问系统首页确认可正常登录 - 数据库状态:执行
systemctl status mysqld查看运行状态,执行grep 'slow' /var/log/mysqld.log检查是否有慢查询 - 备份校验:查看
/data/backup目录下是否生成前一天的备份文件,文件大小与前日差值不超过10%为正常
3.2 自动备份配置
执行crontab -e添加以下定时任务,自动完成备份和过期清理:
每日凌晨1点全量备份数据库
0 1 /usr/bin/mysqldump -uroot -p'DangAn@2024' archive_security > /data/backup/db_`date +\%Y\%m\%d`.sql
每日凌晨1点10分备份档案文件
10 1 rsync -av /data/archive_files /data/backup/files_`date +\%Y\%m\%d`
每日凌晨2点清理30天前的备份文件
0 2 find /data/backup -mtime +30 -delete
3.3 档案操作运维规则
- 所有档案上传必须走系统web界面,禁止直接往
/data/archive_files目录拷贝文件 - 档案删除必须走系统审批流程,禁止直接删除数据库记录或磁盘文件,操作日志默认保留180天
- 每日导出档案调阅日志留存,执行命令:
curl -H "Authorization:Bearer 你的后台接口token" http://localhost:8080/api/log/export?date=`date +%Y%m%d` > /data/logs/access_`date +%Y%m%d`.xlsx
3.4 常见故障快速排查
- 系统无法访问:先执行
systemctl status nginx确认Nginx运行状态,再执行ps -ef | grep archive-security确认应用进程存在,最后执行tail -100f /usr/local/archive/logs/start.log查看应用错误日志 - 档案上传失败:先检查
df -h磁盘是否已满,再检查Nginx配置是否有client_max_body_size 10G,最后执行chmod 755 /data/archive_files赋权 - 数据库连接失败:先执行
systemctl status mysqld确认MySQL运行状态,再检查application.yml中数据库密码是否正确,最后执行telnet 127.0.0.1 3306确认端口可连通