在开始部署前,请确保你拥有一台运行Linux操作系统的服务器。本文以CentOS 7.9为例进行说明。这是目前企业环境中稳定且广泛使用的版本。
通过SSH连接到你的服务器。更新系统并安装必要的依赖包。
执行以下命令:
``` sudo yum update -y sudo yum install -y wget curl vim unzip net-tools ```关闭防火墙和SELinux(对于内部测试环境,生产环境请按需配置规则)。
执行命令关闭防火墙:
``` sudo systemctl stop firewalld sudo systemctl disable firewalld ```编辑SELinux配置文件,将其设置为禁用:
``` sudo vim /etc/selinux/config ```找到SELINUX=enforcing这一行,将其修改为:
保存并退出编辑器(按Esc键,输入:wq,然后按Enter)。重启服务器使设置生效:
档案管理软件需要数据库支持。我们将安装MySQL 8.0。
下载并安装MySQL官方Yum仓库:
``` sudo wget https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm sudo rpm -ivh mysql80-community-release-el7-7.noarch.rpm ```安装MySQL服务器:
``` sudo yum install -y mysql-community-server ```启动MySQL服务并设置开机自启:
``` sudo systemctl start mysqld sudo systemctl enable mysqld ```MySQL安装完成后,会生成一个临时密码。使用以下命令查看:
``` sudo grep 'temporary password' /var/log/mysqld.log ```记录下显示的密码,然后运行安全初始化脚本:
``` sudo mysql_secure_installation ```根据提示,输入刚才记录的临时密码。然后按照以下顺序设置:
NaQu@2024!Dangan)。现在,登录MySQL并为档案管理软件创建专用数据库和用户:
``` mysql -u root -p ```输入你设置的root密码。进入MySQL命令行后,执行以下SQL语句:
``` CREATE DATABASE naqu_archive CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'archive_user'@'%' IDENTIFIED BY 'User@NaQu123'; GRANT ALL PRIVILEGES ON naqu_archive. TO 'archive_user'@'%'; FLUSH PRIVILEGES; EXIT; ```假设软件包已上传至服务器的/opt目录,文件名为naqu-archive-v2.1.0.zip。
进入目录并解压:
``` cd /opt sudo unzip naqu-archive-v2.1.0.zip -d archive_app ```进入解压后的目录,通常包含一个可执行的JAR文件(假设为Java应用)和一个配置文件。
``` cd archive_app ls -la ```找到配置文件,通常是application.yml或application.properties。使用vim编辑器打开它:
找到数据库连接部分,修改为你在1.2节创建的数据库信息:
``` spring: datasource: url: jdbc:mysql://localhost:3306/naqu_archive?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai username: archive_user password: User@NaQu123 driver-class-name: com.mysql.cj.jdbc.Driver ```注意:如果应用需要文件存储路径,找到类似file.upload-dir的配置项,将其设置为一个存在的目录,例如:
然后创建这个目录并赋予权限:
``` sudo mkdir -p /opt/archive_data/uploads sudo chmod -R 755 /opt/archive_data ```保存并退出配置文件。
由于是Java应用,我们使用nohup命令在后台启动,并将日志输出到文件。
确保服务器已安装Java运行环境(JRE 11或以上)。检查:
``` java -version ```
如果未安装,执行:
``` sudo yum install -y java-11-openjdk ```现在,启动应用:
``` nohup java -jar naqu-archive-core-2.1.0.jar --spring.config.location=config/application-prod.yml > app.log 2>&1 & ```检查应用是否成功启动:
``` tail -f app.log ```观察日志,当看到类似Started Application in 15.567 seconds的信息时,表示启动成功。按Ctrl+C退出日志跟踪。
验证服务端口(假设默认端口是8080)是否在监听:
``` sudo netstat -tlnp | grep 8080 ```打开你的浏览器,输入服务器IP地址和端口,例如:http://192.168.1.100:8080。
首次访问会跳转到初始化页面。你需要设置一个超级管理员账号。
admin。填写完毕后,点击“初始化系统”按钮。成功后,使用刚才设置的管理员账号登录系统。
登录后,进入“系统管理” -> “档案门类管理”。
点击“新增门类”,例如:
保存后,点击该门类后的“元数据管理”。这是定义档案条目的关键字段。
点击“添加字段”,为“党群工作类”添加必要元数据:
| 字段名称 | 字段编码 | 字段类型 | 是否必填 |
|---|---|---|---|
| 档号 | archive_code | 文本 | 是 |
| 题名 | title | 文本 | 是 |
| 责任者 | author | 文本 | 是 |
| 成文日期 | date | 日期 | 是 |
| 页数 | page_count | 数字 | 否 |
| 附件 | attachment | 文件 | 否 |
按照此格式,将所有需要的字段逐一添加完毕。
进入“档案管理” -> “档案录入”。
至此,你的第一条数字档案已成功录入系统。
查看应用运行状态:
``` ps -ef | grep naqu-archive-core ```停止应用(先找到进程ID PID,然后终止):
``` kill [PID] 或者强制终止 kill -9 [PID] ```重启应用(先停止,然后再次执行2.3节的启动命令)。
数据是核心资产,必须定期备份。创建一个备份脚本:
``` sudo vim /opt/backup_mysql.sh ```将以下内容复制进去:
``` !/bin/bash 备份目录 BACKUP_DIR="/opt/mysql_backup" 当前日期 DATE=$(date +%Y%m%d_%H%M%S) 数据库名 DB_NAME="naqu_archive" MySQL用户名密码 USER="archive_user" PASS="User@NaQu123" 创建备份目录 mkdir -p $BACKUP_DIR 执行备份 mysqldump -u$USER -p$PASS --databases $DB_NAME > $BACKUP_DIR/${DB_NAME}_backup_$DATE.sql 压缩备份文件 gzip $BACKUP_DIR/${DB_NAME}_backup_$DATE.sql 删除7天前的备份文件 find $BACKUP_DIR -name ".sql.gz" -mtime +7 -delete ```保存退出后,赋予脚本执行权限:
``` sudo chmod +x /opt/backup_mysql.sh ```使用crontab设置每天凌晨2点自动执行备份:
``` sudo crontab -e ```在打开的编辑器中添加一行:
0 2 /opt/backup_mysql.sh保存并退出。系统将自动执行备份任务。
应用运行日志(app.log)会逐渐增大,需要定期清理或滚动。
可以使用Linux自带的logrotate工具。创建配置文件:
``` sudo vim /etc/logrotate.d/naqu_archive ```输入以下内容:
``` /opt/archive_app/app.log { daily rotate 30 compress delaycompress missingok notifempty create 644 root root postrotate 如果需要重启应用以生成新日志,可在此处添加命令 kill -USR1 `cat /opt/archive_app/app.pid 2>/dev/null` 2>/dev/null || true endscript } ```保存退出。logrotate会每天自动管理日志文件,保留最近30天的压缩备份。