自有短地址服务yourls最简单的部署方式
介绍
有时候,我们需要对不同的流量来源做精准的统计,比如我们群发短信,希望对群发效果做a/b test,可以在短信里面的带的landing page做区分,然后需要有精准的统计工具,这个时候我们可以用短地址系统来做统计,也就是在不同的短信里面使用不同的短地址,然后对短地址系统来做数据采集和分析。
yourls是一个基于php+mysql开发开源的短地址服务系统,除了基础的跳转外,还提供丰富的统计和插件。
安装
我们知道使用php的包安装工具composer有时候是件非常痛苦的事情,还有yourls系统需要apache或者nginx配合,把服务器搞得很乱,因此,最好的办法就是把yourls封装到docker里面,打包交给docker-compose
、swarm
或者 k8s
来管理。
好在yourls官方维护了一个docker的镜像,因此,我看了一下这个docker每天都自动构建,那么我们只需要找到相对稳定的版本直接使用就好了
如果用compose,直接用官方的这个例子改一下,然后执行docker-compose up
就可以直接跑起一个demo
1 | version: '3.1' |
注意,官方的例子,YOURLS_SITE
的值是https://example.com
,如果你直接跑是不行的,你可以修改一下主机的hosts也可以直接使用http://localhost:8080
另外,mysql的配置,生产环境的话最好把存储配置独立的volume出来
配置
上线这个例子可以可以看到,这个yourls的镜像使用的是环境变量来传递系统的配置,这些配置可以在这里找到.
主要有mysql的数据库配置,站点设置,短地址的算法配置,还有一些全局配置。下面我们来看看
- 站点配置 site options
1 | YOURLS_SITE: 站点的url,如果配置不对,系统的管理界面访问不了 |
短地址的算法配置 URL Shortening settings
1
2YOURLS_URL_CONVERT: 缩短的方法 base 36 or 62.
yourls_reserved_URL: 禁用词,比如一些色词全局配置 Options settings
1 | YOURLS_PRIVATE_INFOS: 虽然如果`YOURLS_PRIVATE`是开启的,但是仍然可以把统计界面设置为开放的,就是把 YOURLS_PRIVATE_INFOS设置为false即可 |
以上这些配置,我们可以修改一下compose,传到环境变量就好
1 | version: '3.1' |
以上,这个配置支持了一个url对应多个短地址
插件使用
yourls有插件,默认提供了几个插件,
比如它默认是用自增的数字来做short id的,如果需要使用随机码来做short id,那就需要启用 Random ShortURLs
这个插件
还有默认是不支持short id里面出现横杆的,如果需要支持,则需要启用 Allow Hyphens in Short URLs
这个这个插件
更多的插件,可以在这里找到.