4. 部署与运维配置

部署与运维配置

本章面向负责安装、升级和维护木雷短网址 v2.22.3 的管理员。运行时配置优先从环境变量读取,其次读取工作目录下的 config.yamlconfig/config.yaml,最后使用程序默认值。

选择部署方式

场景 推荐组合 说明
本地体验、个人或单机 二进制/Docker + SQLite + memory + local 无需 MySQL、PostgreSQL 或 Redis
单实例生产 Docker/二进制 + MySQL/PostgreSQL + Redis 缓存 数据库与配置目录必须备份
多实例生产 共享 MySQL/PostgreSQL + Redis 缓存 + Redis 发号器 所有实例使用相同配置和 JWT_SECRET

多实例不要使用 local 发号器。每个进程都有独立计数器,实例之间无法协调,可能生成重复 ID。

本章内容

  1. 单机部署(二进制 + SQLite)
  2. Docker 部署
  3. 宝塔面板安装教程
  4. 环境变量参考
  5. 数据库与迁移
  6. 缓存、Redis 与 ID 发号器
  7. JWT、HTTP 与静态资源

运维基线

  • 持久化 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。完整接口说明见 公开接口