4. 部署与运维配置
部署与运维配置
本章面向负责安装、升级和维护木雷短网址 v2.22.3 的管理员。运行时配置优先从环境变量读取,其次读取工作目录下的 config.yaml 或 config/config.yaml,最后使用程序默认值。
选择部署方式
| 场景 | 推荐组合 | 说明 |
|---|---|---|
| 本地体验、个人或单机 | 二进制/Docker + SQLite + memory + local |
无需 MySQL、PostgreSQL 或 Redis |
| 单实例生产 | Docker/二进制 + MySQL/PostgreSQL + Redis 缓存 | 数据库与配置目录必须备份 |
| 多实例生产 | 共享 MySQL/PostgreSQL + Redis 缓存 + Redis 发号器 | 所有实例使用相同配置和 JWT_SECRET |
多实例不要使用 local 发号器。每个进程都有独立计数器,实例之间无法协调,可能生成重复 ID。
本章内容
运维基线
- 持久化
config/、data/和外部数据库;SQLite 文件通常位于config/。 - 不向公网开放 MySQL 的
3306或 Redis 的6379,仅允许应用所在私网访问。 - 对公网入口启用 HTTPS,并由 Nginx、Caddy、Traefik 或云负载均衡终止 TLS。
- 使用
/health/simple做存活检查,使用/health检查数据库、Redis和版本信息。 - 升级前备份,升级后检查迁移日志、健康状态、登录和短链跳转。
健康检查示例
curl --fail http://127.0.0.1:8080/health/simple
curl --fail http://127.0.0.1:8080/health/health/simple 只证明 HTTP 进程可以响应;/health 会检查数据库,配置 Redis 时也会检查 Redis。完整接口说明见 公开接口。