前言
市面上短链接服务有很多,但大多都寿命很短,一些小厂商跑路的概率比较大,但大公司呢又容易被删。
如果实在要用第三方的短链服务,推荐用国外大公司的服务,相对来说比国内公司靠谱一些,比如 Bitly。
简介
YOURLS 是一款使用PHP+Mysql开发的短链接程序,相比公共短网址好处是数据掌握在自己手中,可控性更高。
功能如下:
- 
免费和开源软件 
- 
私有(仅您的链接)或公共(每个人都可以创建短链接,适用于Intranet) 
- 
顺序或自定义URL关键字 
- 
方便的书签,可轻松缩短和共享链接 
- 
出色的统计信息:历史点击报告,引荐来源跟踪,访问者地理位置 
- 
整洁的Ajaxed界面 
- 
出色的插件架构,可轻松实现新功能 
- 
开发人员API 
- 
全面的jsonp支持 
- 
友好的安装程序 
- 
示例文件可创建您自己的公共界面等 
下载
可以在Github下载最新版本,解压后放到站点根目录,并将 user 目录下的 config-sample.php更名为config.php。
安装部署
1. 创建数据库
使用MySQL,数据库名称为 yourls。
create database yourls;2. 编辑config.php内容
需要更新的内容为:
2.1 数据库信息
define( 'YOURLS_DB_USER', '你的数据库账户' );
define( 'YOURLS_DB_PASS', '你的数据库密码' );
define( 'YOURLS_DB_NAME', '数据库名称' );
define( 'YOURLS_DB_HOST', '数据库地址' );2.2 网站设置
1. 域名
define( 'YOURLS_SITE', '你的yourls域名' );2. COOKIEKEY
define( 'YOURLS_COOKIEKEY', 'modify this text with something random' );这个可以简单的通过 https://yourls.org/cookie 来创建
3. 密码
$yourls_user_passwords = [
  'username' => 'password',
];这个密码支持md5加密,可以通过 https://yourls.org/md5 来进行创建。
比如:
<?php
$yourls_user_passwords = array(
    'yydnas.cn' => 'md5:48335:2b72e01d89391160642c6a8d4e6b869d',
);4. 其他设置
定义YOURLS的网站属性为公开还是私人,具体查看官方介绍: private-or-public
define( 'YOURLS_PRIVATE', true );另外,如果需要中文的话,需要安装YOURLS 中文翻译,下载 zh_CN.mo 和 zh_CN.po ,放到 YOURLS/user/languages/目录。
然后修改:
define( 'YOURLS_LANG', 'zh_CN' );更多的详细设置以及插件等功能的使用可以参考官方文档。
3. 服务器配置
3.1 Apache2配置
在YOURLS的根目录创建 .htaccess 的文件。
# BEGIN YOURLS
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /           #子目录需要更改
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ /yourls-loader.php [L]     #子目录需要更改
</IfModule>
# END YOURLS强制https的话在 RewriteBase 下面增加一行: RewriteCond %{HTTPS} !=on
然后创建YOURLS的网站配置文件,内容最简单的即可:(我只是简单测试一下,未配置https,根据需求自行配置)
<VirtualHost *:80>
    ServerName yourls.yydnas.cn
    DocumentRoot /var/www/YOURLS
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>3.2 Nginx配置
Nginx的网站配置示例:(这个相信也不用过多介绍,根据上面的注释进行修改即可)
server {
  # HTTP over IPv4 & IPv6
  listen 80;
  listen [::]:80;
  # HTTPS over IPv4 & IPv6
  # MUST BE EDITED TO REFLECT YOUR CONFIGURATION
  listen 443 ssl;
  listen [::]:443 ssl;
  ssl_certificate     yourls.yydnas.cn.crt;
  ssl_certificate_key yourls.yydnas.cn.key;
  # Server names
  # MUST BE EDITED TO REFLECT YOUR CONFIGURATION
  server_name yourls.yydnas.cn;
  # Root directory
  # MUST BE EDITED TO REFLECT YOUR CONFIGURATION
  root /path/to/yourls/files;
  # Rewrites
  location / {
    try_files $uri $uri/ /yourls-loader.php$is_args$args;
    # if YOURLS is installed in a subdirectory, change the path
    # to yourls-loader.php accordingly, eg
    # try_files $uri $uri/ /subdir/yourls-loader.php$is_args$args;
  }
  # PHP engine
  location ~ \.php$ {
    include fastcgi.conf;
    # OR
    # include fastcgi_params;
    fastcgi_index index.php;
    # MUST BE EDITED TO REFLECT YOUR CONFIGURATION
    fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
  }
}4. 安装
配置好后重启Apache2或者Nginx,访问地址为:http(s)://域名/admin/index.php
点击 Install YOURLS 自动安装进入后台了。
使用
简单使用一下,以我的一篇文章为例:全面总结nginx服务器详细配置,地址很长,如下:
https://www.yydnas.cn/2023/03/2023.03.07-%E5%85%A8%E9%9D%A2%E6%80%BB%E7%BB%93nginx%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%AF%A6%E7%BB%86%E9%85%8D%E7%BD%AE/在 Enter the URL: 中粘贴该地址,点击 Shorten The URL ,短链接显示如下:
该链接即为你的短链接。
最后
尝试了几个,以我这篇文章的设置方法,得到的短链接地址都为: YOURLS服务器域名/1 YOURLS服务器域名/2 等等。
它还自带点击数统计以及位置跟踪的功能。
不得不说,YOURLS配置简单,功能丰富,实用性也不错。



