Files
server/README-SCRIPTS.md
2025-11-01 15:36:47 +08:00

202 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 数字档案系统脚本使用说明
## 统一管理脚本
所有功能已合并到 `archive-manager.sh` 一个脚本中,提供完整的系统管理功能。
### 基本用法
```bash
# 显示帮助
./archive-manager.sh -h
# 构建镜像
./archive-manager.sh build
# 部署应用(默认目录)
./archive-manager.sh deploy
# 部署到指定目录
./archive-manager.sh deploy /opt/digital-archive
# 检查环境
./archive-manager.sh check
# 启动服务
./archive-manager.sh start
# 停止服务
./archive-manager.sh stop
# 重启服务
./archive-manager.sh restart
# 查看日志
./archive-manager.sh logs
./archive-manager.sh logs -f # 实时日志
# 查看状态
./archive-manager.sh status
# 更新服务
./archive-manager.sh update
# 清理资源
./archive-manager.sh clean
```
### 高级选项
```bash
# 详细输出
./archive-manager.sh -v build
# 强制执行(跳过确认)
./archive-manager.sh -f deploy
# 静默模式
./archive-manager.sh -q build
```
## 功能特性
### 1. 统一管理
- 一个脚本管理所有功能
- 自动检测Docker Compose版本
- 统一的日志和错误处理
- 彩色的输出显示
### 2. 环境检查
- 检查Docker环境
- 验证proxy网络
- 检查必需容器MySQL、Redis、Elasticsearch
- 测试网络连通性
### 3. 智能部署
- 自动创建部署目录结构
- 生成环境配置文件
- 创建管理脚本
- 设置正确的权限
### 4. 服务管理
- 启动/停止/重启服务
- 查看日志和状态
- 更新服务(拉取最新镜像)
- 清理Docker资源
### 5. 优化配置
- 使用容错DockerfileDockerfile.robust
- Maven国内镜像加速
- Alpine包管理器国内镜像
- 多镜像源容错机制
## 部署目录结构
```
/root/server/archive/
├── docker-compose.yml # 服务编排文件
├── .env # 环境变量配置
├── start.sh # 启动脚本
├── stop.sh # 停止脚本
├── update.sh # 更新脚本
├── data/ # 数据目录
│ ├── upload/
│ ├── temp/
│ ├── unzip/
│ ├── images/
│ ├── reports/
│ └── elasticsearch/
└── logs/ # 日志目录
```
## 环境要求
### 必需服务
- Docker和Docker Compose
- proxy网络`docker network create proxy`
- MySQL容器连接到proxy网络
- Redis容器连接到proxy网络
### 可选服务
- Elasticsearch容器连接到proxy网络
## 故障排除
### 构建失败
```bash
# 检查Docker环境
./archive-manager.sh -v check
# 重新构建
./archive-manager.sh clean
./archive-manager.sh build
```
### 服务启动失败
```bash
# 查看详细日志
./archive-manager.sh logs -f
# 检查服务状态
./archive-manager.sh status
# 重启服务
./archive-manager.sh restart
```
### 网络问题
```bash
# 检查网络配置
docker network ls
docker network inspect proxy
# 测试连通性
docker run --rm --network proxy alpine ping mysql
```
## 配置文件说明
### settings.xml
Maven配置文件包含
- 多个国内镜像源
- 仓库和插件仓库配置
- 代理设置(可选)
### Dockerfile.robust
优化的Dockerfile包含
- 多段构建
- Alpine国内镜像源
- 容错机制
- 安全配置
### docker-compose.simple.yml
简化的服务编排文件,包含:
- 应用服务配置
- Elasticsearch服务
- 网络配置
## 最佳实践
1. **首次部署**
```bash
./archive-manager.sh check
./archive-manager.sh build
./archive-manager.sh deploy
./archive-manager.sh start
```
2. **日常维护**
```bash
./archive-manager.sh status # 检查状态
./archive-manager.sh logs -f # 查看日志
./archive-manager.sh update # 更新服务
```
3. **问题排查**
```bash
./archive-manager.sh -v status # 详细状态信息
./archive-manager.sh clean # 清理资源
./archive-manager.sh rebuild # 重新构建
```
现在你只需要一个 `archive-manager.sh` 脚本就能完成所有管理任务!