文章目录
YOURLS是什么?
YOURLS是一组 PHP 脚本,允许您在服务器上运行您自己的URL 缩短器。您将完全控制您的数据、详细统计数据、分析、插件等。它是免费且开源的。
YOURLS的主要功能包括:
- 自定义短网址: YOURLS允许用户创建自定义的短网址,将较长的URL缩短成简洁的形式,方便在推广、分享和追踪时使用。
- 链接管理: 用户可以在YOURLS中查看和管理已创建的短网址。这包括编辑、删除和查看有关每个链接的统计信息。
- 链接统计: YOURLS提供了详细的链接点击统计,用户可以了解短网址的流量、点击来源等信息,有助于分析链接的效果。
- 自定义短网址结构: 用户可以选择自定义短网址的结构,以满足个人或品牌需求。例如,可以设置短网址为yourdomain.com/abc123。
- API支持: YOURLS提供API支持,允许开发者通过编程方式与短网址服务进行交互。这使得可以通过脚本和应用程序进行自动化操作。
- 访问权限控制: YOURLS允许用户设置短网址的公开或私密访问权限,以及是否需要身份验证。
- 插件扩展: YOURLS支持插件系统,用户可以根据需要安装各种插件,以扩展功能和增加定制选项。
- 易于部署: YOURLS相对轻量级,易于部署在自己的服务器上,用户可以完全掌控自己的短网址服务。
⠀总的来说,YOURLS是一个灵活、可定制的短网址服务,适用于需要自主管理和控制短网址的个人用户、企业或开发者。
官方网站
yourls 官方网址:https://yourls.org/
yourls github地址:https://github.com/YOURLS/YOURLS
yourls 官方镜像:https://hub.docker.com/_/yourls
部署:
提前准备:域名、VPS服务器
1.更新系统
sudo apt update && sudo apt upgrade -y
2.安装docker和 docker-compose
curl -fsSL https://get.docker.com -o get-docker.sh sh get-docker.sh rm get-docker.sh
3.创建安装目录
mkdir -p /root/docker/yourls cd /root/docker/yourls
4.新建docker-compose.yml 文件
nano docker-compose.yml
5.粘贴以下代码到docker-compose.yml文件(记得将代码中域名改为自己的域名,域名需提前解析道vps的ip)
version: "3.5" services: mysql: image: mysql:5.7.22 # 如果遇到不正确的数据库配置,或无法连接到数据库PDOException: SQLSTATE[HY000] [1045] 用户'yourls'@'yourls_service.yourls_default'的访问被拒绝(使用密码:是) 可以把5.7.22 改为 5.7 environment: - MYSQL_ROOT_PASSWORD=my-secret-pw - MYSQL_DATABASE=yourls - MYSQL_USER=yourls - MYSQL_PASSWORD=yourls volumes: - ./mysql/db/:/var/lib/mysql - ./mysql/conf/:/etc/mysql/conf.d restart: always container_name: mysql yourls: image: yourls restart: always ports: - "8200:80" # 查看8200端口是否被占用,如果被占用,重新自定义一个端口 environment: YOURLS_DB_HOST: mysql YOURLS_DB_USER: yourls YOURLS_DB_PASS: yourls YOURLS_DB_NAME: yourls YOURLS_USER: admin # 用户名 YOURLS_PASS: admin # 登陆密码 YOURLS_SITE: https://yourls.uuzi.net # 换成自己的域名 YOURLS_HOURS_OFFSET: 8 volumes: - ./yourls_data/:/var/www/html container_name: yourls_service links: - mysql:mysql
6.启动项目
docker-compose up -d
等待部署完成,部署完成并配置好反向代理、证书并且防火墙放行了 8200 端口后,打开https://你设置的域名/admin即可。默认是官方英文版的,如有汉化需要,则可以跟随以下内容汉化一下,不需要的话就可以开心使用啦!
还有更多有趣的docker项目请查看:有趣的docker项目