历史版本2 :Windows系统安装配置Traefik 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

注:traefik是Go语言编写的单一可执行文件,无需安装,只要在命令行里执行命令就可以

目录:

0. 前言编辑

traefik 是一款反向代理、负载均衡服务,使用 golang 实现的。和 nginx 最大的不同是,它支持自动化更新反向代理和负载均衡配置。

1. 下载Treafik编辑

网页下载地址:https://github.com/containous/traefik/releases

windows版本下载链接:https://github.com/containous/traefik/releases/download/v1.7.9/traefik_linux-amd64

traefik_windows-amd64:下载地址  提取码:hupz 

2. Traefik配置编辑

将 traefik.toml 和 traefik_windows-amd64.exe 放在同一个路径下面(同一目录级),这样启动的时候就能直接读取到 ;

更改文件中的 ip 就可以,如果修改了工程路径(默认是 /webroot/decision),配置文件中也要修改。

2.1 http场景traefik通用配置

traefik通用配置tearfik.toml文件:

traefik.toml:下载地址  提取码:839v 

traefik通用配置

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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87

# 启用日志
logLevel = "WARNING"
  
[traefikLog]
  filePath = "./traefik.log"
  format   "json"
  
# [accessLog]
#   filePath = "./access.log"
#   format = "json"
  
# 如果涉及到traefik使用端口的改动,需要重启traefik
[entryPoints]
  [entryPoints.fr]
    address = ":80"
 
  [entryPoints.wbs]
    address = ":38889"
 
  
[file]
# 如果有更多节点,直接在下面按格式添加[backends.backend1.servers.server(4、5、6、7、8)]就可以
# 文件热加载,例如修改添加新节点和更改ip之类的操作,不用重启traefik
[backends]
  [backends.fr]
    [backends.fr.healthcheck]
      path = "/webroot/decision/login"  # 主动检查路径,如果响应码不是200或者超时,就摘除该节点
      interval = "30s"  # 每隔30秒检查一次,如果坏节点恢复,会被重新添加上去(可以重启任意节点的tomcat,不用重启traefik)
      timeout = "20s" # 超时时间,压测需要调大一点,默认5秒
    [backends.fr.servers.server0]
      url = "http://192.168.5.45:8080"
      weight = 1
    [backends.fr.servers.server1]
      url = "http://192.168.5.46:8080"
      weight = 1
    [backends.fr.servers.server2]
      url = "http://192.168.5.15:8080"
      weight = 1
    [backends.back]
    [backends.fr.LoadBalancer]
      method="ddr"    # 后端Service的负载均衡策略,目前traefik支持的策略包括:wrr(加权轮训调度算法)和drr(动态加权循环调度算法)
 
    [backends.wbs]
    [backends.wbs.servers]
      [backends.wbs.servers.server0]
        url = "http://192.168.5.45:38888"
        weight = 1
      [backends.wbs.servers.server1]
        url = "http://192.168.5.46:38888"
        weight = 1
      [backends.wbs.servers.server2]
        url = "http://192.168.5.15:38888"
        weight = 1
        [backends.wbs.LoadBalancer.stickiness]  # 开启负载均衡器的session粘滞,重要配置,否则websocket连不上
 
[frontends]
  [frontends.fr]
    entryPoints = ["fr"]
    backend = "fr"
    passHostHeader = true
 
  [frontends.wbs]
    entryPoints = ["wbs"]
    backend = "wbs"
    passHostHeader = true
  
# traefik自带的dashboard,直接ip+端口访问就可以
 [web]
 address = ":8888"
  
  
# Enable API and dashboard,默认使用8080端口,正常用不到
# [api]
  
  # Name of the related entry point
  #
  # Optional
  # Default: "traefik"
  #
  # entryPoint = "traefik"
  
  # Enabled Dashboard
  #
  # Optional
  # Default: true
  #
  # dashboard = false

3. 启动编辑

打开命令行(windows上用cmd和powershell都可以),进入traefik所在路径执行命令

3.1 powershell启动

./traefik_windows-amd64.exe --configFile=traefik.toml

3.2 cmd启动

traefik_windows-amd64.exe --configFile=traefik.toml

4. 常见问题编辑

1)启动报错,绑定端口失败:其它程序占用了端口,请换用端口或者结束占用端口的进程;

2)没有权限:windows使用管理员用户打开命令行,linux 赋予执行权限;

3)需要配置https:参考配置文件,ssl证书秘钥格式和nginx通用。

traefik(teamcity https):下载地址  提取码:owcu