短网址服务YOURLS的一些踩坑
手上有个yrx.me的域名是之前在https://hover.com一刀注册来的,注册之后才发现.me域名压根不能备案,只好用回了.com的域名。但是这个.me域名一年续费有点小贵(https://tld-list.com里面ICANN的一级服务商最低的都已经是porkbun的12.99刀了,也有可能是我时间没挑对。。。总而言之选了porkbun作为下一年的接盘侠),于是准备将这个域名用起来。因为不能备案,也就不能解析到国内机器,不然就是一波service hold。正好这边Google cloud的300刀赠金还在,于是准备在GCP-HK放个自己的短链接服务,以防各类短网址服务商的服务不稳定(感叹一下果然还是自己动手丰衣足食)。
因为这次需要部署一个有GUI的成熟服务,所以没想自己写了,网上找了一圈,看到一个比较靠谱的YOURLS项目。这是一个基于PHP的项目,是一个比较成熟的短网址部署,我的几个需求:1. GUI 2.自定义网址 3.我熟悉的语言(方便debug和后面自己做私有化开发)都有满足。所以选择了这个项目进行部署。
安装
安装前置要求是需要NMP/AMP环境,官方使用的是Apache。
部署过程这里是参考短网址程序YOURLS安装配置与设置中文的教程。写的比较详细。
深坑
如果你和我用的一样是nginx,并且上面这篇文章处理.htacess的方法对你没有用的话,你可以试试将下面这段写入nginx站点server里面,注意,如果是部署在子目录,location /记得换成location /子目录名。
1 | location / |
这么做的原因是,由于官方使用的.htacess是基于apache的modrewrite模块,nginx并不使用,因此将官方给的转为nginx的规则,并加入conf文件。官方使用的.htacess来控制短链接缩短,所以需要这样一个配置,来确保服务生效。
丰富的功能
这个项目很有意思的一个地方是,它支持插件来扩展。并且也支持个人开发者写出更多插件,来丰富服务。例如官方自带的插件Random ShortURLs就是用于将链接转为随机链接使用的一款挺好用的插件。此外,也有很多很丰富的站点功能比如RSS支持、多域名支持、API支持以及spam功能。
参考: