网站首页/ 信息中心/ 档案百科/

Linux环境档案软件部署服务零门槛实操手册

发布时间:2026年06月30日 05:50:21 浏览量:0

一、服务器基础环境初始化

在开始部署档案软件之前,必须确保服务器环境满足运行条件。本指南基于CentOS 7.9系统编写,涵盖了从环境清理到Docker引擎安装的全过程。首先执行系统更新并安装必要的工具:

1. 安装基础工具

使用yum安装wget、git及vim等必备工具,命令如下:

```bash yum install -y wget git vim lrzsz ```

2. 安装Docker及Docker Compose

为了保证环境的一致性和迁移的便捷性,我们采用Docker容器化部署。执行以下脚本一键安装Docker:

```bash curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun systemctl start docker systemctl enable docker ```

接着安装Docker Compose编排工具。请直接下载v2.24.0版本(稳定版):

```bash curl -L "https://github.com/docker/compose/releases/download/v2.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose docker-compose --version ```

3. 配置防火墙与SELinux

为了避免端口拦截导致服务无法访问,建议关闭防火墙或放行必要端口,并临时关闭SELinux:

```bash setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config systemctl stop firewalld systemctl disable firewalld ```

二、部署目录结构规划

规范的目录结构是后期维护的基础。请在/data目录下创建档案软件专用目录,用于存放应用、数据库、配置文件及日志:

```bash mkdir -p /data/archive/{mysql,data,nginx/logs,nginx/conf,upload} ```

目录说明如下:

三、数据库与中间件部署

档案软件通常依赖MySQL数据库和Redis缓存。我们将通过Docker Compose统一管理这些服务。

1. 创建MySQL初始化脚本

在/data/archive目录下创建init.sql文件,用于初始化数据库和用户权限:

```bash vim /data/archive/init.sql ```

写入以下SQL内容(请根据实际需求修改密码):

```sql CREATE DATABASE IF NOT EXISTS archive_db DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'archive_user'@'%' IDENTIFIED BY 'Archive@2024Strong'; GRANT ALL PRIVILEGES ON archive_db. TO 'archive_user'@'%'; FLUSH PRIVILEGES; ```

2. 配置环境变量文件

创建.env文件来统一管理敏感信息,避免将密码硬编码在yaml文件中:

```bash vim /data/archive/.env ```

内容如下:

```properties MYSQL_ROOT_PASSWORD=Root@2024Secure MYSQL_DATABASE=archive_db MYSQL_USER=archive_user MYSQL_PASSWORD=Archive@2024Strong REDIS_PASSWORD=Redis@2024Secure TZ=Asia/Shanghai ```

四、档案应用容器化配置

假设档案软件为Java应用(archive-app.jar),我们需要将其制作成Docker镜像。请先将应用包上传至/data/archive目录。

1. 编写Dockerfile

```bash vim /data/archive/Dockerfile ```

Linux环境档案软件部署服务零门槛实操手册

内容如下(基于OpenJDK 8构建):

```dockerfile FROM openjdk:8-jre-alpine MAINTAINER TechExpert VOLUME /tmp ADD archive-app.jar app.jar RUN sh -c 'touch /app.jar' ENV JAVA_OPTS="" ENTRYPOINT_ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] ```

2. 编写应用配置文件

如果应用需要外部配置文件(如application.yml),请创建config目录并编辑:

```bash mkdir -p /data/archive/config vim /data/archive/config/application.yml ```

关键配置项示例如下,必须与上面的数据库环境变量对应:

```yaml server: port: 8080 spring: datasource: url: jdbc:mysql://mysql-server:3306/archive_db?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai username: archive_user password: Archive@2024Strong driver-class-name: com.mysql.cj.jdbc.Driver redis: host: redis-server port: 6379 password: Redis@2024Secure ```

五、Nginx反向代理配置

为了通过80端口访问服务并处理静态资源请求,需要配置Nginx。

```bash vim /data/archive/nginx/conf/archive.conf ```

配置内容如下,包含反向代理和文件大小限制(档案上传通常涉及大文件):

```nginx server { listen 80; server_name your_domain_or_ip; client_max_body_size 500M; location / { proxy_pass http://archive-app: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_connect_timeout 300s; proxy_send_timeout 300s; proxy_read_timeout 300s; } 静态资源直接映射 location /static/ { alias /data/archive/upload/; autoindex on; } } ```

六、Docker Compose编排与启动

这是核心步骤,将所有组件整合。创建docker-compose.yml文件:

```bash vim /data/archive/docker-compose.yml ```

完整内容如下,定义了MySQL、Redis、应用及Nginx四个服务:

```yaml version: '3.8' services: mysql-server: image: mysql:5.7 container_name: archive-mysql environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} MYSQL_DATABASE: ${MYSQL_DATABASE} MYSQL_USER: ${MYSQL_USER} MYSQL_PASSWORD: ${MYSQL_PASSWORD} TZ: ${TZ} volumes: - /data/archive/mysql:/var/lib/mysql - /data/archive/init.sql:/docker-entrypoint-initdb.d/init.sql ports: - "3306:3306" networks: - archive-net restart: always redis-server: image: redis:6.2-alpine container_name: archive-redis command: redis-server --requirepass ${REDIS_PASSWORD} volumes: - /data/archive/redis:/data ports: - "6379:6379" networks: - archive-net restart: always archive-app: build: . container_name: archive-app environment: TZ: ${TZ} volumes: - /data/archive/data:/data - /data/archive/upload:/upload - /data/archive/config:/config depends_on: - mysql-server - redis-server networks: - archive-net restart: always nginx-web: image: nginx:alpine container_name: archive-nginx ports: - "80:80" volumes: - /data/archive/nginx/conf:/etc/nginx/conf.d - /data/archive/nginx/logs:/var/log/nginx - /data/archive/upload:/usr/share/nginx/html/static depends_on: - archive-app networks: - archive-net restart: always networks: archive-net: driver: bridge ```

启动所有服务

在/data/archive目录下执行以下命令,构建镜像并后台启动所有容器:

```bash cd /data/archive docker-compose up -d --build ```

七、服务验证与故障排查

1. 状态检查

启动后,查看所有容器状态,确保State为Up:

```bash docker-compose ps ```

2. 日志查看

如果服务无法启动,首先查看应用日志定位报错信息:

```bash docker-compose logs -f archive-app ```

3. 端口连通性测试

检查80端口是否正常监听:

```bash netstat -tlnp | grep 80 ```

4. 数据库连接测试

进入MySQL容器验证数据是否已初始化:

```bash docker exec -it archive-mysql mysql -uarchive_user -pArchive@2024Strong -e "SHOW DATABASES;" ```

如果看到archive_db数据库,说明数据库初始化成功。此时在浏览器输入服务器IP地址,即可访问档案管理系统。若遇到文件上传功能异常,请重点检查Nginx配置中的client_max_body_size参数以及应用目录的读写权限。

档案管理系统界面不友好?这“反人类”设计必须盘它!
档案管理系统界面不友好?这“反人类”设计必须盘它!
哎,哥几个,聊个扎心的事儿。你们公司那个档案管理系统,用起来是不是感觉像在跟一个脾气古怪、还耳背的老大爷打交道?你点这里,它弹那里;你想找个文件,得经过九九八十一难,菜单藏得比私房钱还深。每次打开那界...
2026年06月30日 05:50:21
微信咨询
电话联系
QQ客服
微信咨询一对一服务
服务热线: 028-8744 4417
QQ客服: 2305721818