背景
- 短链接服务
- yourls 是开箱即用的短链接服务
- 我们在正式环境上用于把过长的「分享主播链接(携带有参数)」,缩短为一个短链接
部署步骤
① helm 下载yourls官网chart
1
2
3
|
helm repo add yourls https://charts.yourls.org/
helm pull yourls/yourls
tar xvf yourls-1.3.0.tgz
|
② 更改 values.yaml 文件(有更改的部署罗列如下)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
1. 变化1:基础配置
yourlsSite: http://s.***tech.com # 对外域名
yourlsUsername: admin # 管理员账号
yourlsPassword: Q28D***HrHM8 # 管理员密码
yourlsTablePrefix: tbl_
1. 变化2:额外的环境变量
extraEnv:
- name: YOURLS_PRIVATE
value: 'true'
- name: YOURLS*URL*CONVERT
value: '62'
- name: YOURLS_COOKIEKEY
value: yxnQbHUuRvqu8u9****b5APge5KZ88EN
1. 变化3:设定连接的数据库
externalDatabase:
host: mysql-rw.***.io
user: admin
password: "*****" # 数据库密码
1. 变化4:禁用 mariadb
mariadb:
enabled: false
replication:
enabled: false
1. 变化5:使用ClusterIP服务
service:
type: ClusterIP
port: 80
httpsPort: 443
annotations: {}
1. 变化6: 设定 ingress nginx 路由
ingress:
enabled: true
certManager: false
annotations: {}
hosts:
- name: s.***tech.com # 对外域名
path: /
tls: false
|
附件中有两个文件,使用它们对比一下会更直观
1
2
|
values.yaml # 原始文件
values.test.yaml # 测试环境中使用的文件
|
③ 使用helm执行部署
1
2
|
cd yourls
helm -n ***-prod install yourls . -f values.prod.yaml
|
④ 初始化 yourls
-
打开网页 http://s.***tech.com/admin/
,点击 INSTALL
-
更新数据库信息
1
2
3
4
5
|
- 将起始值调大
update tbl*options set option_value = 20201231 where option_name = 'next*id';
- 删除默认的记录
delete from tbl_url;
|
⑤ 验证短链接服务可用
1)获得访问签名密钥 http://s.***tech.com/admin/tools.php
得到如下一段信息
Your secret signature token: 069***27b8 (It's a secret. Keep it secret) ...
密钥是069***27b8
// 示例
2)编写 python 测试程序
1
2
3
4
5
6
|
import requests, json
url = "http://s.***tech.com/yourls-api.php?signature=069cec27b8"
data = {"url":"http://www.google.com","format":"json","action":"shorturl"}
response = requests.get(url, data)
print(json.loads(response.text))
|