YOURLS 中文使用教程
2026-06-04发表于
HacktoberfestYOURLS
🔗 The 𝘥𝘦 𝘧𝘢𝘤𝘵𝘰 standard, self hosted, powerful and customizable, URL shortener in PHP
项目简介
在互联网时代,链接无处不在。但你是否遇到过这种情况:一个冗长的网址,在社交媒体上分享时既占地方又不美观;或者,你想追踪某个推广链接的点击量,却苦于没有合适的工具。市面上虽然有 Bitly、TinyURL 等短链接服务,但它们都是第三方平台,你的数据掌握在别人手里,一旦服务商关闭或更改政策,所有链接都可能失效。
YOURLS 正是为解决这些问题而生。它是一个开源的、自托管的 URL 缩短器,全称是 Your Own URL Shortener。简单来说,你可以在自己的服务器上搭建一个完全属于你的短链接系统,所有数据、统计信息都在你自己的掌控之中。
核心功能与架构
YOURLS 的核心功能远不止“缩短链接”这么简单。它更像是一个轻量级的链接管理平台,为你提供了从生成到分析的一整套工具。
核心功能一览
- 一键缩短与自定义关键词:这是最基础的功能。你可以将任意长链接缩短为
https://你的域名/abc这样的短链接。更棒的是,你可以自定义后面的关键词(例如https://你的域名/my-campaign),让链接更具可读性和品牌感。 - 详细的点击统计:每一个生成的短链接,YOURLS 都会记录其点击次数、来源(Referrer)、用户使用的浏览器、操作系统以及访问的 IP 地址。这对于分析营销活动效果、了解用户行为非常有价值。
- 强大的插件系统:这是 YOURLS 的灵魂所在。社区贡献了大量的插件,可以实现诸如:集成 Google Analytics、自动将链接发布到 Twitter、开放注册、支持 REST API 等高级功能。你可以通过插件将 YOURLS 变成任何你想要的样子。
- 公开或私有部署:你可以将 YOURLS 设置为完全私有,只有你自己能创建和管理链接;也可以开放给特定用户(例如团队成员)甚至公众使用,每个人都可以创建自己的短链接。
- REST API:YOURLS 提供了完整的 RESTful API,这意味着你可以通过编程方式(例如用 Python、JavaScript 或命令行)来创建、删除、查询链接,轻松将其集成到你的工作流或应用中。
架构原理
YOURLS 采用经典的 LAMP(Linux + Apache + MySQL + PHP)架构,也支持 Nginx。它的工作流程非常清晰:
- 用户请求:用户在浏览器中输入短链接(如
https://你的域名/abc)。 - 服务器处理:请求到达你的 Web 服务器(Apache/Nginx),服务器将请求交给 PHP 脚本处理。
- 数据库查询:PHP 脚本在 MySQL 数据库中查找关键词
abc对应的原始长链接。 - 重定向:如果找到,服务器会向浏览器发送一个 301(永久重定向)或 302(临时重定向)的 HTTP 响应,将用户引导至原始长链接。同时,这次点击的统计信息会被记录到数据库中。
- 统计更新:数据库中的点击计数器 +1,并记录下这次请求的来源、时间、用户代理等信息。
这种架构的好处是简单、稳定、易于扩展。你只需要一个支持 PHP 和 MySQL 的虚拟主机或 VPS 就能运行它。
快速上手
部署 YOURLS 非常简单,即使你只有基础的服务器知识。以下是两种最常用的方法。
方法一:手动安装(推荐)
这是最灵活的方式,适合熟悉服务器管理的用户。你需要一个 Web 服务器(Apache 或 Nginx)、PHP(7.4 或更高版本)和 MySQL(5.0 或更高版本)。
-
下载 YOURLS
从 GitHub Releases 下载最新的稳定版压缩包,或者使用 Git 克隆:
bash git clone https://github.com/YOURLS/YOURLS.git cd YOURLS -
配置数据库
在 MySQL 中创建一个新的数据库和用户(例如数据库名yourls,用户名yourls_user,密码your_password)。 -
配置 YOURLS
复制配置文件模板并编辑:
bash cp user/config-sample.php user/config.php
打开user/config.php,修改以下关键配置项:
```php
/* MySQL 数据库名 /
define( 'YOURLS_DB_NAME', 'yourls' );/* MySQL 数据库用户名 /
define( 'YOURLS_DB_USER', 'yourls_user' );/* MySQL 数据库密码 /
define( 'YOURLS_DB_PASS', 'your_password' );/* MySQL 数据库主机 /
define( 'YOURLS_DB_HOST', 'localhost' );/* 你的网站域名(不要带 http://) /
define( 'YOURLS_SITE', 'https://s.yourdomain.com' );/* 管理员用户名和密码(用于登录后台) /
$yourls_user_passwords = array(
'admin' => 'your_admin_password',
// 可以添加更多用户
);/* 是否允许公开创建短链接(true 或 false) /
define( 'YOURLS_PRIVATE', true );
``` -
设置 Web 服务器
对于 Apache,确保启用了mod_rewrite,YOURLS 自带的.htaccess文件会自动处理 URL 重写。
对于 Nginx,你需要在站点配置中添加重写规则:
nginx location / { try_files $uri $uri/ /yourls-loader.php?$args; } -
运行安装脚本
在浏览器中访问https://你的域名/admin/,系统会自动检测配置并引导你完成安装。安装完成后,你就可以用admin用户登录后台了。
方法二:使用 Docker(更简单)
如果你熟悉 Docker,这是最快的方法。官方提供了 Docker 镜像。
-
创建
docker-compose.yml文件:
```yaml
version: '3.8'services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: root_password
MYSQL_DATABASE: yourls
MYSQL_USER: yourls
MYSQL_PASSWORD: yourls_passwordyourls:
image: yourls:latest
ports:
- "8080:80"
environment:
YOURLS_DB_HOST: db
YOURLS_DB_USER: yourls
YOURLS_DB_PASS: yourls_password
YOURLS_DB_NAME: yourls
YOURLS_SITE: http://localhost:8080
YOURLS_USER: admin
YOURLS_PASS: your_admin_password
depends_on:
- dbvolumes:
db_data:
``` -
启动服务:
bash docker-compose up -d -
访问后台:
打开浏览器,访问http://localhost:8080/admin/,使用你设置的用户名和密码登录。
使用场景
YOURLS 不仅仅是一个玩具,它在很多实际场景中都能发挥巨大作用。
场景一:品牌营销与追踪
假设你是一家电商公司的市场运营。你需要为即将到来的“双十一”活动创建多个推广链接,分别投放在不同的渠道(如微博、微信公众号、邮件营销)。你希望:
- 链接短小精悍,方便记忆和分享。
- 链接中包含品牌名,例如
https://s.yourbrand.com/1111-weibo。 - 能够精确统计每个渠道带来了多少点击。
YOURLS 可以完美满足这些需求。你可以在后台为每个渠道创建自定义短链接,然后通过其内置的统计面板或 API 导出数据,轻松分析各渠道的转化效果。
场景二:团队协作与内部链接管理
如果你的团队经常需要分享内部文档、知识库、开发环境或监控面板的链接,这些链接
项目信息
| 项目 | 值 |
|---|---|
| 仓库 | YOURLS/YOURLS |
| 语言 | PHP |
| Star | 12,047 |
| Fork | 2,072 |
| 主页 | https://yourls.org |
参考链接
30
6
1
560
文章目录
评论