提交qiming-mcp-proxy

This commit is contained in:
Codex
2026-06-01 13:03:20 +08:00
parent 9e9486b7c2
commit afb3d9f4e6
394 changed files with 124494 additions and 0 deletions

View File

@@ -0,0 +1,230 @@
# Document Parser 服务管理指南
本目录包含用于在 Linux 系统上管理 document-parser 服务的脚本和配置文件。
## 文件说明
- `document-parser.service` - systemd 服务配置文件模板(脚本会动态生成实际的服务文件)
- `document-parser-manager.sh` - 统一管理脚本,整合了部署和管理功能,支持动态路径配置
- `README.md` - 本说明文档
## 快速开始
### 1. 准备工作
确保你已经编译好了 `document-parser` 可执行文件,并且有相应的配置文件 `config.yml`
### 2. 一键部署(推荐)
```bash
# 给管理脚本添加执行权限
chmod +x document-parser-manager.sh
# 自动部署服务到脚本所在目录(包含安装、启动、开机自启)
sudo ./document-parser-manager.sh deploy
# 或者部署到指定目录
sudo DOCUMENT_PARSER_INSTALL_DIR=/opt/document-parser ./document-parser-manager.sh deploy
# 仅部署但不启动服务
sudo ./document-parser-manager.sh deploy --no-start
# 部署但不启用开机自启
sudo ./document-parser-manager.sh deploy --no-enable
```
部署过程会:
- 将可执行文件复制到安装目录(默认为脚本所在目录)
- 复制配置文件到安装目录
- 动态生成并安装 systemd 服务文件
- 重新加载 systemd 配置
- 启动服务(除非使用 --no-start
- 启用开机自启(除非使用 --no-enable
### 3. 查看服务状态
```bash
# 查看服务状态
./document-parser-manager.sh status
```
## 完整命令列表
### document-parser-manager.sh 统一脚本
```bash
# 部署命令
sudo ./document-parser-manager.sh deploy # 一键部署
sudo ./document-parser-manager.sh deploy --no-start # 部署但不启动
sudo ./document-parser-manager.sh deploy --no-enable # 部署但不启用开机自启
# 服务管理
sudo ./document-parser-manager.sh install # 仅安装服务
sudo ./document-parser-manager.sh start # 启动服务
sudo ./document-parser-manager.sh stop # 停止服务
sudo ./document-parser-manager.sh restart # 重启服务
./document-parser-manager.sh status # 查看状态
# 开机自启管理
sudo ./document-parser-manager.sh enable # 启用开机自启
sudo ./document-parser-manager.sh disable # 禁用开机自启
# 其他操作
sudo ./document-parser-manager.sh uninstall # 卸载服务
./document-parser-manager.sh logs # 查看日志
./document-parser-manager.sh help # 显示帮助
```
### 常用操作示例
#### 完整的服务部署流程
```bash
# 1. 编译项目(在项目根目录)
cargo build --release --bin document-parser
# 2. 复制可执行文件到脚本目录
cp target/release/document-parser scripts/
# 3. 复制配置文件到脚本目录(如果有)
cp document-parser/config.yml scripts/
# 4. 进入脚本目录
cd scripts/
# 5. 一键部署(推荐)
sudo ./document-parser-manager.sh deploy
# 或者手动步骤部署
sudo ./document-parser-manager.sh install
sudo ./document-parser-manager.sh start
sudo ./document-parser-manager.sh enable
# 6. 检查服务状态
./document-parser-manager.sh status
```
#### 更新服务
```bash
# 1. 停止服务
sudo ./document-parser-manager.sh stop
# 2. 复制新的可执行文件
cp ../target/release/document-parser /opt/document-parser/
# 3. 启动服务
sudo ./document-parser-manager.sh start
# 或者重新部署(会覆盖旧文件)
sudo ./document-parser-manager.sh deploy
```
#### 查看日志和调试
```bash
# 实时查看日志
./document-parser-manager.sh logs
# 查看最近的日志
journalctl -u document-parser -n 50
# 查看服务状态详情
systemctl status document-parser -l
```
## 服务配置说明
### 服务配置说明
服务配置文件会根据实际安装路径动态生成,包含以下主要配置:
- **工作目录**: 安装目录(默认为脚本所在目录)
- **可执行文件**: `{安装目录}/document-parser`
- **自动重启**: 服务异常退出时会自动重启
- **日志记录**: 使用 systemd journal 记录日志
- **安全配置**: 启用了多项安全限制
- **资源限制**: 设置了文件描述符和进程数限制
- **动态配置**: 根据 `DOCUMENT_PARSER_INSTALL_DIR` 环境变量或脚本所在目录生成
### 环境变量
服务默认设置了以下环境变量:
- `RUST_LOG=info` - 设置日志级别
- `CONFIG_PATH={安装目录}/config.yml` - 配置文件路径(动态生成)
部署时可以通过以下环境变量控制:
- `DOCUMENT_PARSER_INSTALL_DIR` - 指定安装目录(默认为脚本所在目录)
可以通过编辑 `/etc/systemd/system/document-parser.service` 文件来修改这些配置。
## 故障排除
### 常见问题
1. **服务启动失败**
```bash
# 查看详细错误信息
systemctl status document-parser -l
journalctl -u document-parser -n 20
```
2. **权限问题**
```bash
# 确保可执行文件有执行权限
chmod +x /opt/document-parser/document-parser
```
3. **配置文件问题**
```bash
# 检查配置文件是否存在和格式正确
ls -la /opt/document-parser/config.yml
```
4. **端口占用**
```bash
# 检查端口是否被占用
netstat -tlnp | grep :端口号
```
### 手动操作
如果脚本出现问题,也可以手动使用 systemctl 命令:
```bash
# 手动启动服务
sudo systemctl start document-parser
# 手动停止服务
sudo systemctl stop document-parser
# 手动重启服务
sudo systemctl restart document-parser
# 查看服务状态
systemctl status document-parser
# 启用开机自启
sudo systemctl enable document-parser
# 禁用开机自启
sudo systemctl disable document-parser
```
## 安全注意事项
1. **文件权限**: 确保只有 root 用户可以修改服务文件
2. **配置安全**: 不要在配置文件中存储明文密码
3. **网络安全**: 根据需要配置防火墙规则
4. **日志安全**: 定期清理日志文件,避免磁盘空间不足
## 卸载服务
如果需要完全移除服务:
```bash
# 卸载服务(会停止服务、禁用自启、删除文件)
sudo ./document-parser-manager.sh uninstall
```
这会完全清理所有相关文件和配置。