圣堂之魂

Short_NURL


开始之前:

本文档适用于 Short_NURL v1.11.0;其他版本的路由、认证和数据同步行为可能不同。


一、项目简介

Short_NURL 是一个面向个人部署的轻量短链服务:OpenResty(Nginx + Lua)负责短码匹配、共享内存查询和 301 / 302 跳转,PHP-FPM 负责 WebUI / API、认证及 JSON 持久化。

它不依赖 MySQL 或 Redis,以 perm.jsontemp.json 保存短链,以 lua_shared_dict 作为跳转热存储。


二、核心特性

无需外部数据库

无需 MySQL、Redis,运行依赖 OpenResty 和 PHP-FPM。

内存跳转路径

完成冷启动后,正常跳转只查询 lua_shared_dict,不经过 PHP-FPM。

冷热分层

JSON 冷存储持久化数据,共享内存提供跳转热路径;驱逐恢复与冷启动会读取 JSON。

永久 / 临时短链

支持永不过期和定时过期的短链。

多类 Key 认证

支持常驻 Key、一次性 Key,以及仅用于无头链路的服务 Key。

内部通信认证

PHP 与 Lua 的内部端点同时受网络访问控制和 LPA-Key 保护。

三、服务模式

Short_NURL 可以按需要启用以下 3 种服务方式,并提供本地 nurl 与远程 nurl-key CLI 工具:

同时开放 WebUI 的 /api/* 与无头链路的 /headless/api/*。两条管理链路路由和请求头分离,但复用同一套 PHP 业务逻辑、JSON 数据与 OpenResty 热存储。

推荐使用双线模式,二者互不影响。


本页目录