YOURLS 自建短网址服务教程
YOURLS(Your Own URL Shortener)是一款经典的开源短网址服务程序,使用 PHP + MySQL 技术栈。它比 Shlink 更轻量,适合个人用户快速搭建短链接服务。YOURLS 拥有丰富的插件生态,可以通过插件扩展功能。本文将介绍如何在搬瓦工 VPS 上通过 Docker 部署 YOURLS。
一、YOURLS 功能特点
- 简单易用:部署简单,管理界面直观。
- 自定义短码:支持自定义或自动生成短码。
- 点击统计:记录每个短链接的点击次数、来源和时间。
- Bookmarklet:提供浏览器书签小工具,快速缩短当前页面网址。
- API 接口:支持通过 API 创建和管理短链接。
- 插件系统:丰富的第三方插件,可扩展功能。
- 私有模式:可以设置为仅管理员可创建短链接。
二、环境准备
- 搬瓦工 VPS 一台,512MB 内存即可(使用优惠码 NODESEEK2026 享受 6.77% 折扣)。
- 已安装 Docker 和 Docker Compose(参考 Docker 安装教程)。
- 一个短域名。
2.1 创建项目目录
mkdir -p /opt/yourls
cd /opt/yourls
三、Docker Compose 部署
cat > /opt/yourls/docker-compose.yml <<'EOF'
version: '3.8'
services:
mysql:
image: mysql:8.0
restart: always
environment:
MYSQL_ROOT_PASSWORD: root_password
MYSQL_DATABASE: yourls
MYSQL_USER: yourls
MYSQL_PASSWORD: yourls_db_password
volumes:
- mysql_data:/var/lib/mysql
yourls:
image: yourls:latest
restart: always
depends_on:
- mysql
ports:
- "8080:80"
environment:
YOURLS_DB_HOST: mysql
YOURLS_DB_USER: yourls
YOURLS_DB_PASS: yourls_db_password
YOURLS_DB_NAME: yourls
YOURLS_SITE: https://s.yourdomain.com
YOURLS_USER: admin
YOURLS_PASS: your_admin_password
volumes:
- /opt/yourls/plugins:/var/www/html/user/plugins
volumes:
mysql_data:
EOF
四、启动服务
cd /opt/yourls
docker compose up -d
等待数据库初始化完成后,访问 http://VPS_IP:8080/admin/ 打开管理界面。首次访问时会自动安装数据库表。
五、配置 Nginx 反向代理
cat > /etc/nginx/sites-available/yourls <<'EOF'
server {
listen 80;
server_name s.yourdomain.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
EOF
ln -sf /etc/nginx/sites-available/yourls /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
certbot --nginx -d s.yourdomain.com
六、基础使用
6.1 创建短链接
在管理界面中,输入目标 URL 和自定义短码(可选),点击「Shorten」即可创建短链接。
6.2 查看统计
点击短链接右侧的统计图标,可以查看详细的访问数据,包括点击次数、来源页面和访问时间。
6.3 使用 Bookmarklet
在管理界面顶部找到「Tools」页面,将 Bookmarklet 拖入浏览器书签栏。之后浏览任何网页时,点击书签即可快速将当前页面缩短为短链接。
七、API 使用
# 创建短链接
curl -X POST "https://s.yourdomain.com/yourls-api.php" \
-d "signature=your_api_signature&action=shorturl&url=https://example.com/long-url&keyword=mylink&format=json"
# 获取统计
curl "https://s.yourdomain.com/yourls-api.php?signature=your_api_signature&action=stats&filter=top&limit=10&format=json"
API 签名可以在管理界面的「Tools」页面中找到。
八、推荐插件
- Sleeky:美化管理界面主题。
- Google Analytics:集成 Google Analytics 统计。
- QR Code:为短链接生成二维码。
- Random Keywords:使用随机关键词作为短码。
- Allow Hyphens:允许在短码中使用连字符。
将插件文件放入 /opt/yourls/plugins 目录,然后在管理界面中启用即可。
九、数据备份
docker compose exec mysql mysqldump -u yourls -p yourls > /opt/yourls/backup_$(date +%Y%m%d).sql
十、YOURLS vs Shlink 对比
- YOURLS:更轻量、更简单,PHP + MySQL 技术栈,插件生态丰富,适合个人使用。
- Shlink:功能更强大,REST API 更完善,支持多域名,地理位置统计更详细,适合企业使用。参考 Shlink 搭建教程。
总结
YOURLS 是搭建短网址服务最简单的方案之一,非常适合个人用户和小团队使用。它的资源消耗很低,在搬瓦工 VPS 上可以和其他服务共存。选购搬瓦工 VPS 请访问 bwh81.net,使用优惠码 NODESEEK2026 享受 6.77% 折扣。