hlx 发表于 2026-10-12 21:18:06

【原创】短链系统 duanlian —— Docker 一键部署

**下载**:https://jgzyk.lanzouu.com/iSYhk4bqg7vg
**提取码**:`5jfb`

一个自建的**短链(短网址)系统**,单容器 Docker 镜像,开箱即用。

### 🧱 技术栈

**后端**
- **语言/运行时**:PHP 8.2(PHP-FPM)

- **架构**:自研轻量框架——**前端控制器 + 分层设计**(`Http` 入口 → `Actions` 动作层 → `Services` 服务层 → `Storage` 存储层),非 Laravel/Symfony 等重型框架,无 Composer 重依赖,轻量易读

- **动作层**:`app/Actions/`(Public 公开动作 + Admin 后台 19 个动作)

- **服务层**:`LinkService`(短链)、`VisitService`(访问统计)、`LoginGuard`(登录防爆破)、`ApiMonitor`(接口监控)、`EnvDetector`(环境探测)

- **数据存储**:**SQLite**(主库,零配置、单文件)

- **缓存**:**Redis**(可选,`RedisCache`)
/**文件缓存**(`FileCache`,Redis 不可用时降级)

- **Web 服务器**:nginx(容器内,与 PHP-FPM 一起被 supervisor 拉起)

**前端**
- **服务端渲染** PHP 模板(`app/Views/`)
- **UI 组件库**:**Tabler**(基于 Bootstrap 的现代后台 UI 框架,本地引用)
- **图表**:**ECharts**(本地引用,用于访问统计的设备/系统/浏览器分布饼图,不依赖外部 CDN)
- 纯白灰极简主题,无 Vue/React 等前端框架

**部署/运维**
- **Docker 单镜像**:内置 nginx + PHP-FPM + Redis,supervisor 管理多进程
- **基础镜像**:Debian bookworm-slim
- **数据库迁移**:内置 `migrate.php`,首次启动自动建表,无需手动初始化
- **配置**:环境变量注入(`LINK_ADMIN_PASS` / `LINK_SITE_DOMAIN` / `LINK_API_TOKEN` / `LINK_REDIS_ENABLE` 等)

### ✨ 功能
短链生成与跳转、访问统计(设备/系统/浏览器图表)、标签系统、搜索、自定义首页、API 接口(令牌鉴权 + 限流)、批量创建、短链健康检查、访问来源域名统计、孤立文件清理、自动截图预览。

### 🚀 部署(3 步)
```bash
# 1. 导入镜像
gunzip -c duanlian-docker镜像.tar.gz | docker load

# 2. 启动
docker run -d --name duanlian \
-p 80:80 \
-v /宿主机路径/duanlian_data:/var/www/html/_data \
-e LINK_ADMIN_PASS='你的强口令' \
-e LINK_SITE_DOMAIN='https://你的域名' \
duanlian:latest

# 3. 打开 http://你的域名/admin.php 进后台
```

### ⚠️ 注意
- 默认后台口令 `admin886`,**上线前务必用 `-e LINK_ADMIN_PASS` 改强口令**
- 数据存 SQLite,用 `-v` 挂载 `_data` 持久化,否则容器删了数据就没了
- 需要 HTTPS 前面挂 nginx 反代即可



http://cdn.u1.huluxia.com/g4/M01/D2/94/rBAAdmrM3giADyrXAAP5_cg1zfc984.jpg
http://cdn.u1.huluxia.com/g4/M01/D2/94/rBAAdmrM3gmASmmOAAFU1gz3RJc270.jpg
http://cdn.u1.huluxia.com/g4/M01/D2/94/rBAAdmrM3gmAapnFAAQPGCYZqkI622.jpg
http://cdn.u1.huluxia.com/g4/M01/D2/94/rBAAdmrM3gqAT-PCAANcObdDKWo081.jpg
http://cdn.u1.huluxia.com/g4/M01/D2/94/rBAAdmrM3guAXnHxAAQ4KSnki48145.jpg
http://cdn.u1.huluxia.com/g4/M01/D2/94/rBAAdmrM3guATc1kAAKoFmf1t9k459.jpg
http://cdn.u1.huluxia.com/g4/M01/D2/94/rBAAdmrM3gyAL9vEAAM82bDI_zs020.jpg
页: [1]
查看完整版本: 【原创】短链系统 duanlian —— Docker 一键部署