因为一些需求,需要将链接缩短,市面上短链接服务有很多,但大多都寿命很短,一些小厂商跑路的概率比较大,但大公司呢又容易被删。

如果实在要用第三方的短链服务,推荐用国外大公司的服务,相对来说比国内公司靠谱一些,比如 Bitly。

但我决定自己搭建,用 yourls 搭建一个自己的私人短链接服务,我这样做是因为,我确定我这博客(老郭种树)至少能坚挺好几年,所以将短链服务放到博客上,这挺好的,如果你不能肯定这一点,我觉得大家还是别折腾,用第三方更好。

视频教程

这个开源的短链接服务很好用,功能很全。

我这里结合宝塔面板来搭建,这样方便很多,不用在安装环境,我博客已经安装了环境,而且也方便管理,比如配置nginx,配置证书等等。

所以,如果你不会这些,推荐先装宝塔面板,如果不会安装,推荐先去以前的视频,这里我就直接开始了。

1、宝塔添加网站

这里域名就是短链域名,我手上没其他域名,所以创建一个博客二级域名。

记得创建数据库,如图中一样。

2、配置 Nginx

将下面代码粘贴到图中配置文件位置,当然,因为我还配置SSL证书,你的配置文件可能和我不一样。

  location / {
    try_files $uri $uri/ /yourls-loader.php$is_args$args;
  }

3、安装 yourls

我这里采取文件上传方式安装,去 开源仓库 下载最新版本 yourls。
或者本地下载

然后编辑该安装包的配置文件,记得将默认 config-sample.php 重命名成 config.php。

user--config.php
配置文件中要修改的,我都列在下面

define( 'YOURLS_DB_USER', '【数据库用户名】' );

/** MySQL database password */
define( 'YOURLS_DB_PASS', '【数据库密码】' );

/** The name of the database for YOURLS */
define( 'YOURLS_DB_NAME', '【数据库名】' );

define( 'YOURLS_SITE', '【域名】https://short.guozh.net' );

define( 'YOURLS_COOKIEKEY', '【自己生成】' );

$yourls_user_passwords = array(
    '【用户名】' => '【密码】',
    // 'username2' => 'password2',
    // You can have one or more 'login'=>'password' lines
    );
    

前面三个就是下图中

域名是前面添加网站时填的。

自己在浏览器打开 http://yourls.org/cookie 生成【YOURLS_COOKIEKEY】。

最后的用户名和密码是指,如果这里配置了,打开短链平台是需要密码的,如果不配,每个知道该平台的人都能使用,看你需求。

define( 'YOURLS_HOURS_OFFSET', +8 );

define( 'YOURLS_LANG', 'zh_CN' );

这两项大家和我填一样的吧,上面是时区,下面是语言。关于这个语言,默认不填写是英文,但网上有大佬做了中文简体字的汉化 包。我用了该语言包,所以这里就如上填写。

关于这个语言包,去上面 GitHub 仓库下载,然后将两个文件放在

user--languages
还有个小问题,如果就这样安装,默认生成的短链是按数字从 1 开始自增,而不是像我这样随机一串 qfnqvq

https://short.guozh.net/qfnqvq
如果想改成随机一串,需要修改代码,找到 functions.php

includes--functions.php

搜索 yourls_get_next_decimal ,将 $id = yourls_get_next_decimal() 改成 $id = time() 。

OK,以上就整合完成。

将所有文件压缩,然后上传到服务器。

最后在浏览器输入就能安装

https://网站域名/admin(http)
记得将域名解析到服务器。