前言
市面上短链接服务有很多,但大多都寿命很短,一些小厂商跑路的概率比较大,但大公司呢又容易被删。
如果实在要用第三方的短链服务,推荐用国外大公司的服务,相对来说比国内公司靠谱一些,比如 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配置简单,功能丰富,实用性也不错。