一、基础环境准备与JDK安装
在部署淮北档案软件之前,必须确保服务器环境满足运行要求。该系统基于Java开发,依赖JDK 1.8及以上版本。以下操作以CentOS 7.9系统为例,如果是Ubuntu系统,请将yum替换为apt。
执行以下命令更新系统源并安装必要的工具:
```bash
yum update -y
yum install -y wget vim unzip
```
接下来,安装OpenJDK 1.8。执行以下命令进行安装:
```bash
yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
```
安装完成后,需要配置JAVA_HOME环境变量。使用vim编辑/etc/profile文件,在文件末尾添加以下内容:
```bash
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin
```
保存并退出后,执行source /etc/profile使配置生效。输入java -version,若显示版本信息,则说明JDK安装成功。
二、MySQL数据库环境搭建与初始化
淮北档案软件需要MySQL数据库支持,建议使用5.7版本。为了确保数据存储的稳定性,我们需要配置数据库编码为UTF-8。
下载并安装MySQL Yum源仓库:
```bash
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
yum install -y mysql-server
```
启动MySQL服务并设置开机自启:
```bash
systemctl start mysqld
systemctl enable mysqld
```
MySQL安装后会生成一个临时密码,通过grep 'temporary password' /var/log/mysqld.log查看。随后登录MySQL进行安全初始化:
```bash
mysql -uroot -p
```
在MySQL命令行中执行以下SQL语句,修改root密码为HbArchive@2024(请根据实际需求修改),并创建专用数据库huaibei_archive:
```sql
ALTER USER 'root'@'localhost' IDENTIFIED BY 'HbArchive@2024';
CREATE DATABASE IF NOT EXISTS huaibei_archive DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'hb_user'@'%' IDENTIFIED BY 'HbUser@2024';
GRANT ALL PRIVILEGES ON huaibei_archive. TO 'hb_user'@'%';
FLUSH PRIVILEGES;
EXIT;
```
接下来,导入初始化SQL脚本。假设软件包中包含init.sql,执行以下命令导入数据结构:
```bash
mysql -uhb_user -p'HbUser@2024' huaibei_archive < /opt/software/init.sql
```
三、后端应用配置与文件部署
将淮北档案软件的后端Jar包上传至服务器的/opt/huaibei-archive目录。这里假设Jar包名为archive-system.jar。

在该目录下创建配置文件application.yml。该文件是系统的核心配置,必须确保数据库连接、文件上传路径等信息准确无误。以下是完整的配置内容:
```yaml
server:
port: 8080
servlet:
context-path: /archive-api
session:
timeout: 30m
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/huaibei_archive?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false
username: hb_user
password: HbUser@2024
hikari:
minimum-idle: 5
maximum-pool-size: 20
servlet:
multipart:
max-file-size: 500MB
max-request-size: 500MB
redis:
host: 127.0.0.1
port: 6379
password:
database: 0
mybatis-plus:
mapper-locations: classpath:mapper//Mapper.xml
type-aliases-package: com.huaibei.archive.entity
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
file:
upload-path: /data/archive/files
access-url: /files
```
注意:配置中使用了Redis作为缓存,请确保服务器已安装Redis并启动。若未安装,执行yum install redis -y && systemctl start redis。同时,需要手动创建文件上传目录:
```bash
mkdir -p /data/archive/files
chown -R root:root /data/archive/files
```
四、Systemd守护进程配置
为了方便管理服务的启停,建议将Jar包注册为Systemd服务。创建服务文件/etc/systemd/system/huaibei-archive.service,内容如下:
```ini
[Unit]
Description=Huaibei Archive System Service
After=syslog.target network.target mysql.service redis.service
[Service]
Type=simple
User=root
WorkingDirectory=/opt/huaibei-archive
ExecStart=/usr/bin/java -jar /opt/huaibei-archive/archive-system.jar
ExecStop=/bin/kill -15 $MAINPID
Restart=always
RestartSec=10
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
```
保存文件后,执行以下命令重载Systemd并启动服务:
```bash
systemctl daemon-reload
systemctl start huaibei-archive
systemctl status huaibei-archive
```
若状态显示为active (running),则说明后端服务启动成功。可以通过journalctl -u huaibei-archive -f查看实时日志。
五、Nginx反向代理配置
配置Nginx作为反向代理,对外提供HTTP访问服务,并处理静态资源请求。首先安装Nginx:
```bash
yum install -y nginx
```
创建站点配置文件/etc/nginx/conf.d/huaibei_archive.conf。以下是完整的Nginx配置,包含了API接口转发和静态文件映射:
```nginx
server {
listen 80;
server_name your-domain-or-ip;
前端静态资源根目录
root /opt/huaibei-archive/dist;
index index.html;
API接口代理转发
location /archive-api/ {
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;
proxy_set_header X-Forwarded-Proto $scheme;
解决跨域问题
add_header Access-Control-Allow-Origin ;
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS, PUT, DELETE';
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
if ($request_method = 'OPTIONS') {
return 204;
}
}
静态文件访问映射
location /files {
alias /data/archive/files;
autoindex on;
}
前端路由模式支持(History模式)
location / {
try_files $uri $uri/ /index.html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
```
配置完成后,检查Nginx配置语法并启动服务:
```bash
nginx -t
systemctl start nginx
systemctl enable nginx
```
六、防火墙配置与端口放行
确保防火墙允许HTTP(80)和必要的管理端口访问。执行以下命令配置Firewalld:
```bash
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload
```
如果是云服务器,请务必登录云厂商控制台,在安全组规则中放行TCP 80端口。
七、部署验证与故障排查
完成上述所有步骤后,在浏览器中访问服务器的IP地址或域名。如果能看到登录界面,说明部署成功。
若遇到问题,请按以下顺序排查:
- 检查端口占用:使用
netstat -tlnp | grep 8080确认Java进程是否正常监听。
- 检查数据库连接:查看应用日志中是否包含
Communications或Access denied字样,核对application.yml中的账号密码。
- 检查文件权限:确保
/data/archive/files目录对运行Java进程的用户有写入权限。
- Nginx 502错误:通常表示后端服务未启动或端口不通,检查
systemctl status huaibei-archive。