### [打造专属个人短链接平台 YOURLS 自建指南以及主题配置](https://www.qiqiwa.com/article/483) **Published:** 2026-03-08T14:05:42 **Author:** Hello **Excerpt:** 在互联网营销、社交媒体分享以及数据追踪中,短链接的作用不可小觑。然而,依赖第三方服务往往面临数据隐私泄露、品牌展示受限以及昂贵的 API 调用成本。YOURLS (Your Own URL Shortener) 是一款久经考验、功能强大的开 在互联网营销、社交媒体分享以及数据追踪中,短链接的作用不可小觑。然而,依赖第三方服务往往面临数据隐私泄露、品牌展示受限以及昂贵的 API 调用成本。**YOURLS** (Your Own URL Shortener) 是一款久经考验、功能强大的开源 PHP 程序,它能让你在几分钟内搭建起一个完全属于自己的短链接平台。 ![](https://www.qiqiwa.com/wp-content/uploads/2026/03/9ffa00f3bf20260308202944.svg) ## 简介 YOURLS 解决了用户对短链接底层数据控制权的渴望。通过自建服务,你可以使用自己的品牌域名(如 `yourbrand.co/sale`),确保链接在社交平台上的信任度。同时,它规避了第三方服务随时可能倒闭或封禁域名的风险,让每一条短链接的生命周期都掌握在自己手中。 ## 核心功能 - **完全私有化控制** 🔒:支持私有模式(仅自己使用)或公开模式(允许他人缩短链接)。 - **详尽的数据统计** 📈:提供实时点击量、历史趋势、地理位置分布(GeoIP)以及来源(Referrer)分析。 - **强大的 API 支持** ⚙️:原生提供 RESTful API,方便集成到自定义应用、浏览器扩展或 WordPress 中。 - **丰富的插件生态** 🧩:拥有数百个社区插件,支持自定义 URL 规则、安全过滤、LDAP 认证等。 - **简洁的管理界面** 🖥️:基于 AJAX 的后台管理,操作流畅,支持批量编辑与搜索。 - **开发者友好** 🛠️:基于经典的 PHP+MySQL 架构,代码易于二次开发与维护。 ## 视觉辅助 | **特性维度** | **YOURLS (自建)** | **第三方服务** | | --- | --- | --- | | **数据所有权** | 完全归属用户 🙋‍♂️ | 归属平台商 🏢 | | **品牌域名** | 支持无限自定义域名 🏷️ | 通常需要付费订阅 💰 | | **统计深度** | 原始点击数据,永久保存 📅 | 免费版通常有时间限制 ⏳ | | **扩展性** | 支持插件与代码修改 🛠️ | 仅限官方提供的功能 🧱 | | **成本** | 仅需基础 VPS 费用 ☁️ | 高级功能月费昂贵 💸 | * * * ## 准备工作 在部署 YOURLS 之前,请确保你的服务器环境满足以下要求: 1. **Web 服务器**:Apache (需开启 mod\_rewrite) 或 Nginx。 2. **PHP 版本**:PHP 7.4 或更高版本。 3. **数据库**:MySQL 5.0 或 MariaDB。 4. **域名**:一个较短的域名(例如 `s.yourname.com`)。 5. **核心扩展**:PHP 的 `curl`, `gd`, `mysql` 等标准扩展。 * * * ## 部署步骤 YOURLS 提供了传统的源码部署方案以及现代化的容器化部署方案。 ### 1\. 宝塔面板部署 (推荐) #### **步骤 1:下载并解压** 从 [Releases](https://github.com/YOURLS/YOURLS/releases) 页面下载源码,将文件解压至服务器中。 ![](https://www.qiqiwa.com/wp-content/uploads/2026/03/d2b5ca33bd20260308203417.png) ![](https://www.qiqiwa.com/wp-content/uploads/2026/03/d2b5ca33bd20260308203518.png) #### **步骤 2:配置数据库**与**后台账户密码** 进入 `user `目录 打开 `config-sample.php` 原版本是英文可参考如下中文版本的 **注释修改版本** ``` 'password', // 'username2' => 'password2', // 你可以添加一行或多行 '用户名'=>'密码' 配置 ]; /** URL 缩短规则:36 进制或 62 进制 ** 36:生成纯小写字母的短链接关键词(例如:13jkm) ** 62:生成大小写混合的短链接关键词(例如:13jKm 或 13JKm) ** 更多信息请参考:https://yourls.org/urlconvert */ define( 'YOURLS_URL_CONVERT', 36 ); /** 调试模式:输出部分内部运行信息 ** 生产环境默认设为 false。编写代码或提交 Bug 前可启用 */ define( 'YOURLS_DEBUG', false ); /** * 保留关键词(确保生成的短链接不会匹配这些词) * 在此定义禁用、不希望出现或可能引起误解的关键词。 */ $yourls_reserved_URL = [ 'porn', // 色情 'faggot', // 侮辱性词汇 'sex', // 性 'nigger', // 种族歧视词汇 'fuck', // 脏话 'cunt', // 脏话 'dick', // 脏话 ]; /* ** 自定义配置可写在下方。 */ ``` ![](https://www.qiqiwa.com/wp-content/uploads/2026/03/d2b5ca33bd20260308204258.png) ![](https://www.qiqiwa.com/wp-content/uploads/2026/03/d2b5ca33bd20260308204625.png) | 代码行 | 常量名 | 含义 | 对应填写内容 | | --- | --- | --- | --- | | 第 14 行 | `YOURLS_DB_USER` | **数据库用户名** | 你的 MySQL 用户名(如 `root` 或自定义用户名) | | 第 17 行 | `YOURLS_DB_PASS` | **数据库密码** | 你的 MySQL 密码 | | 第 21 行 | `YOURLS_DB_NAME` | 数据库名 | 你为 YOURLS 新建的数据库名称(默认 `yourls`) | | 第 26 行 | `YOURLS_DB_HOST` | 数据库地址 | 一般是 `localhost`,如果是远程数据库填对应 IP | | 第 30 行 | `YOURLS_DB_PREFIX` | 表前缀 | 数据库表名前缀,默认 `yourls_` 即可 | ![](https://www.qiqiwa.com/wp-content/uploads/2026/03/d2b5ca33bd20260308204958.png) 接下来是配置,站点地址、中文设置、随机密钥、后台账号密码。 ![](https://www.qiqiwa.com/wp-content/uploads/2026/03/d2b5ca33bd20260308213416.png) 这里是设置账号与密码的参考如下。 ``` $yourls_user_passwords = [ '用户名' => '密码', // 'username2' => 'password2', // You can have one or more 'login'=>'password' lines ]; ``` 访问获取Cookie:[https://yourls.org/cookie](https://yourls.org/cookie) ![](https://www.qiqiwa.com/wp-content/uploads/2026/03/d2b5ca33bd20260308211255.png) 下载翻译包:[https://github.com/YOURLS/awesome#Translations](https://github.com/YOURLS/awesome#Translations) 链接直达中文版:[Simplified Chinese](https://github.com/taozhiyu/yourls-translation-zh_CN) (`zh_CN`)。 ![](https://www.qiqiwa.com/wp-content/uploads/2026/03/d2b5ca33bd20260308211227.png) 翻译包上传至 `/user/languages` 目录并解压,之后进入压缩包文件将 `zh_CN.mo` 和 `zh_CN.po` 复制到 `/user/languages` 目录下。 ![](https://www.qiqiwa.com/wp-content/uploads/2026/03/d2b5ca33bd20260308211854.png) ![](https://www.qiqiwa.com/wp-content/uploads/2026/03/d2b5ca33bd20260308212047.png) 设置完毕应该是我这样。 ![](https://www.qiqiwa.com/wp-content/uploads/2026/03/d2b5ca33bd20260308213605.png) 最后一步将 `config-sample.php` 重命名为 `config.php` #### **步骤 3:配置 Web 服务器伪静态** ``` location / { try_files $uri $uri/ /yourls-loader.php$is_args$args; # 如果YOURLS安装在Windows中,请更改路径 # 到yourls-loader.php,例如, eg # try_files $uri $uri/ /subdir/yourls-loader.php$is_args$args; } ``` #### **步骤 4:**访问地址进入安装页面 访问:域名 `/admin` 进入安装页面 ![](https://www.qiqiwa.com/wp-content/uploads/2026/03/d2b5ca33bd20260308213807.png) 这样就代表已经部署完毕可正常使用。目前没配置前台主题所以前台会打不开。 ## 安装主题: 进入文档:[https://github.com/YOURLS/awesome#Themes](https://github.com/YOURLS/awesome#Themes) ![](https://www.qiqiwa.com/wp-content/uploads/2026/03/d2b5ca33bd20260308214455.png) 建议使用Sleeky主题 地址直达:[Flynntes/Sleeky](https://github.com/Flynntes/Sleeky) ![](https://www.qiqiwa.com/wp-content/uploads/2026/03/d2b5ca33bd20260308214701.png) 然后将压缩包解压至服务器中进入后会有俩个文件非别为前台主题和后台主题插件(可以自行选择安装) ![](https://www.qiqiwa.com/wp-content/uploads/2026/03/d2b5ca33bd20260308214904.png) 将 `sleeky-backend` 插件包 移动到 插件目录 `/user/plugins` 粘贴 ![](https://www.qiqiwa.com/wp-content/uploads/2026/03/d2b5ca33bd20260308215116.png) 然后将前台包 `sleeky-frontend` 里面的文件移动至 网址目录下如图 ![](https://www.qiqiwa.com/wp-content/uploads/2026/03/d2b5ca33bd20260308215251.png) ![](https://www.qiqiwa.com/wp-content/uploads/2026/03/d2b5ca33bd20260308215324.png) 然后访问前台就会发现可以打开了 ![](https://www.qiqiwa.com/wp-content/uploads/2026/03/d2b5ca33bd20260308215434.png) 前台主题的内容在 `/frontend/config.php` 中修改 ![](https://www.qiqiwa.com/wp-content/uploads/2026/03/d2b5ca33bd20260308215736.png) **注释修改为版本** ``` 链接」的结构: // "标题" => "链接地址", $footerLinks = [ "About" => "https://sleeky.flynntes.com/", "Contact" => "https://yourls.org/", "Legal" => "https://yourls.org/", "Admin" => "/admin" ]; ?> ``` ### 2\. 传统 LAMP/LEMP 部署 这是最能发挥 YOURLS 性能和插件兼容性的方式。 #### **步骤 1:下载并解压** ``` git clone https://github.com/YOURLS/YOURLS.git cd YOURLS # 将文件移动到你的 Web 根目录 sudo cp -R . /var/www/html/short ``` #### **步骤 2:配置数据库** 进入 `user` 目录,将示例配置文件重命名并编辑: ``` cd user cp config-sample.php config.php nano config.php ``` 在 `config.php` 中填入你的数据库信息: ``` define( 'YOURLS_DB_USER', 'your_db_user' ); define( 'YOURLS_DB_PASS', 'your_db_password' ); define( 'YOURLS_DB_NAME', 'your_db_name' ); define( 'YOURLS_DB_HOST', 'localhost' ); define( 'YOURLS_SITE', 'https://s.yourdomain.com' ); ``` #### **步骤 3:配置 Web 服务器伪静态** - **Nginx 用户**:请在配置文件中加入以下规则: ``` location / { try_files $uri $uri/ /yourls-loader.php$is_args$args; # 如果YOURLS安装在Windows中,请更改路径 # 到yourls-loader.php,例如, eg # try_files $uri $uri/ /subdir/yourls-loader.php$is_args$args; } ``` #### **步骤 4:运行安装脚本** 访问 `https://s.yourdomain.com/admin/`,点击安装按钮即可。 * * * ### 3\. 使用 Docker 一键部署 适合追求快速上线和环境隔离的用户。 ``` docker run -d \ --name my-yourls \ -e YOURLS_DB_USER=root \ -e YOURLS_DB_PASS=secret \ -e YOURLS_DB_NAME=yourls \ -e YOURLS_SITE=https://s.example.com \ -e YOURLS_USER=admin \ -e YOURLS_PASS=admin_password \ -p 8080:80 \ --restart always \ yourls:latest ``` * * * ### 4\. 使用 Docker Compose 部署 (含数据库) ``` version: '3.5' services: mysql: image: mariadb:10.5 environment: - MYSQL_ROOT_PASSWORD=root_pass - MYSQL_DATABASE=yourls volumes: - ./mysql_data:/var/lib/mysql yourls: image: yourls:latest ports: - "8080:80" environment: - YOURLS_DB_HOST=mysql - YOURLS_DB_USER=root - YOURLS_DB_PASS=root_pass - YOURLS_DB_NAME=yourls - YOURLS_SITE=http://localhost:8080 - YOURLS_USER=admin - YOURLS_PASS=password depends_on: - mysql ``` * * * ## 总结评价 YOURLS 是短链接领域的老牌霸主,虽然其后台 UI 略显复古,但其稳定性和可扩展性至今无人能出其右。 - **优点**: - **极致稳定**:核心代码极其精简,在低配服务器上也能支持极高并发。 - **插件丰富**:如果你觉得原生功能不够,社区提供的插件几乎能覆盖所有想象力范围内的需求。 - **数据详尽**:自带的点击热图和地理分析对于复盘营销效果非常有帮助。 - **缺点**: - **UI 审美**:默认后台管理界面比较传统,不符合现代 Material Design 审美(可通过插件更换皮肤)。 - **PHP 依赖**:对于习惯了 Node.js 或 Go 的开发者来说,PHP 的部署环境配置稍显繁琐。 **适用建议**:非常适合自媒体从业者、跨境电商卖家以及需要大规模分发内部追踪链接的企业。 * * * ## 项目地址 | **资源名称** | **链接地址** | | --- | --- | | **GitHub 仓库** | [https://github.com/YOURLS/YOURLS](https://github.com/YOURLS/YOURLS) | | **官方文档** | [https://yourls.org/](https://yourls.org/) | | **插件市场** | [https://github.com/YOURLS/awesome](https://github.com/YOURLS/awesome) | **Tags:** 开源项目, 短链接 **Categories:** 项目笔记 ---