运维操作
运维操作
M-Doc 提供热重载、优雅关闭和健康检查等运维功能。
热重载
M-Doc 支持通过 SIGHUP 信号重载配置,无需重启服务:
# 发送 SIGHUP 信号
kill -HUP $(pidof mdoc-server)热重载会重新读取 config.yaml 中的配置,但以下变更需要重启:
- 数据库连接配置
- Redis 连接配置
- 监听地址变更
优雅关闭
M-Doc 支持优雅关闭,确保正在处理的请求完成后再退出:
# 发送 SIGINT 或 SIGTERM
kill -TERM $(pidof mdoc-server)
# 或 Ctrl+C(前台运行时)优雅关闭流程:
- 停止接收新请求
- 等待正在处理的请求完成
- 关闭数据库连接
- 关闭 Redis 连接
- 退出进程
健康检查
| 端点 | 用途 | 响应 |
|---|---|---|
GET /health/simple |
容器探针 | 最小响应 |
GET /health |
详细状态 | 系统状态信息 |
Docker 健康检查配置已内置在 Dockerfile 中:
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
CMD wget --no-verbose --tries=1 --spider http://localhost:8080/health/simple || exit 1日志管理
日志配置:
log:
level: info
filename: logs/app.log
max_size: 100 # 单文件最大 MB
max_age: 30 # 保留天数
max_backups: 10 # 最大备份数
compress: true # 压缩归档日志系统基于 Zap,支持结构化日志输出。
日志级别
| 级别 | 说明 |
|---|---|
debug |
调试信息(开发环境) |
info |
一般信息(生产环境推荐) |
warn |
警告信息 |
error |
错误信息 |
定时任务
M-Doc 内置一个定时任务:
孤立文章清理
- 执行时间:每天凌晨 2:00
- 作用:清理不属于任何版本的孤立文章
- 原因:操作中断可能导致文章未正确关联到版本
该任务自动运行,无需手动配置。