提交qiming-mcp-proxy
This commit is contained in:
230
qiming-mcp-proxy/scripts/README.md
Normal file
230
qiming-mcp-proxy/scripts/README.md
Normal 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
|
||||
```
|
||||
|
||||
这会完全清理所有相关文件和配置。
|
||||
Reference in New Issue
Block a user