简述
在使用Qt的MaintenanceTool程序进行在线更新的时候遇到一个问题,就是访问download.qt.io
实在太慢了,老是失败。所以想使用国内的镜像站来进行更新。
使用Qt的镜像站方法也很简单,下载Update.xml
和Update_orig.xml
回来,然后修改里面的url
即可,这个网上有很多教程。
但是这个方法不是很好用,还需要自己手动把一些元数据文件下载回来。
最近在研究traefik,所以就用它做了一个简单的代理转发,来达到加速的目的。
traefik 简介
Træfɪk 是一个为了让部署微服务更加便捷而诞生的现代HTTP反向代理、负载均衡工具。 它支持多种后台 (Docker, Swarm, Kubernetes, Marathon, Mesos, Consul, Etcd, Zookeeper, BoltDB, Rest API, file…) 来自动化、动态的应用它的配置文件设置。
关于traefik的介绍,网上资料不是很多,可以看它的官网和一个国内的网站
代理设置具体过程
1、下载traefik程序
这个可以去github上下载源码回来自己编,也可以直接下载编译好的文件。因为traefik是使用go语言编译的,所有的依赖都在一个程序里面,没有乱七八糟的依赖问题。
发布版本下载地址https://github.com/containous/traefik/releases
2、编写配置文件,添加前后端来配置代理。
我使用的是清华大学的镜像站,速度还比较快。地址:https://mirrors.tuna.tsinghua.edu.cn/qt/
写好配置文件之后,直接运行起来即可
./traefik --c config.toml
配置文件如何写,可以看官网上的文档。需要中文的也可以看这里http://docs.traefik.cn/basics
配置文件如下:
# 入口点
[entryPoints]
# HTTP 入口点,只需要HTTP的就够了
[entryPoints.http]
address = ":80" # 使用80端口,这样后面有用
# 管理界面监听端口
[web]
address = ":8012"
[web.statistics]
ReccentError = 10
# 配置文件监测(有改变的时候无需重启服务程序,会自动更新)
[file]
filename = "./config.toml"
watch = true
# 后端服务器定义
[backends]
# 定义后端,这里我直接使用的tuna的名称
[backends.tuna]
# 设置最大连接数,其实可以不设置
[backends.tuna.maxconn]
amount = 10
extractorfunc = "request.host"
# 后端的服务器,可以添加多个
[backends.tuna.servers.server1]
url = "https://mirrors-i.tuna.tsinghua.edu.cn" # 这里使用清华镜像站的URL
weight = 10
# 前端转发规则定义
[frontends]
# 定义一个前端,前端就是你访问treafik入口点的时候,用来确定如何转发的规则
[frontends.tuna]
# 这个前端转发到的后端
backend = "tuna"
passHostHeader = false # 这里不能为true,否则转发的时候会是一个不正常的重定向,导致服务器返回错误
# 路由规则,也可以有多个
[frontends.tuna.routes.test_1]
rule = "AddPrefix:/qt" # 添加前缀,也就是访问入口点的时候,给URL里面的路径添加前缀/qt再去访问后端
# 比如访问 http://127.0.0.1/online/qtsdkrepository/windows_x86/android/
# 那么就会转发到后端 https://mirrors-i.tuna.tsinghua.edu.cn/qt/online/qtsdkrepository/windows_x86/android/
3、修改hosts文件,把download.qt.io
解析到`127.0.0.1。
4、做完上面几步,可以直接在浏览器访问download.qt.io
,看看是否正常。
然后直接使用Qt安装目录下的MaintenanceTool程序进行升级更新即可。
注意,使用中科大的源,因为文件不全,可能出现下面的问题,北交大的源不能用,它里面是空的,就一个假的。使用清华的源没问题。
使用Træfɪk(traefik)来加速Qt在线更新的更多相关文章
-
Træfɪk 服务发现解决方案
Træfɪk is a modern HTTP reverse proxy and load balancer made to deploy microservices with ease. It s ...
-
Qt 框架的图形性能高(OpenGL上的系统效率高),网络性能低,开发效率高,Quick是可以走硬件加速——Qt中分为好几套图形系统,差不多代表了2D描画的发展史。最经典的软描画系统
-----图形性能部分-----Qt的widgets部分,运行时的图像渲染性能是一般的,因为大部分的界面内容都是Qt自绘,没有走硬件加速,也就是说很多图形内容都是CPU算出来的.但是widgets底层 ...
-
使用国内源解决Qt在线更新慢的问题
Qt在线安装更新工具默认使用官方的源,国内访问比较慢,可以在setting中增加国内的源来提高更新速度,如下面的源: http://mirrors.ustc.edu.cn/qtproject/onli ...
-
kubernetes 部署 traefik 以及kubernetes dashborad
前言 本来打算通过 traefik 来实现 kubernetes dashborad 的服务访问,可是在配置过程中始终报错.最后无奈只能通过nodeport来实现kubernetes dashbora ...
-
Qt 5简介
Qt 5简介 Qt 5概要介绍 在Qt 5这个版本中,Qt Quick成为了Qt的核心.但是Qt 5也继续提供了本地C++强大的功能来完成更好的用户体验,也提供了对OpenGL/OpenGL ES图形 ...
-
【win】【qt5打包】【qt程序打包成一个可执行文件(带图标任何win都可以运行哦)】
[前言] 业务需求将qt程序打包成win可执行文件.咱是做linux的,奈何用的麒麟系统,程序运行在win,好嘛,重新在win qtcreator编译后打包呗. [目标] 1.给qt程序添加一个图标. ...
-
Golang优秀开源项目汇总, 10大流行Go语言开源项目, golang 开源项目全集(golang/go/wiki/Projects), GitHub上优秀的Go开源项目
Golang优秀开源项目汇总(持续更新...)我把这个汇总放在github上了, 后面更新也会在github上更新. https://github.com/hackstoic/golang-open- ...
-
Go热门开源项目大全
监控系统 项目 简介 Star数 grafana/grafana Grafana 是一个用于监控指标分析和图表展示的工具, 后端支持 Graphite, InfluxDB & Promethe ...
-
go语言熟知的开源项目
go语言在国内是比较火的,并且好多公司都用go语言进行重构之前的系统,今天来看下基本大家都知道的go语言的开源项目 1.Docker Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用 ...
随机推荐
-
nodejs中stream相关资料
nodejs中流(stream)的理解 nodejs stream 手册完整中文版本 nodejs stream详细使用介绍
-
WEB服务器配置
1.这是我的新服务器,还未做任何配置,系统为windows server2012 R2. 2.首先打开IE浏览器,这里弹出一个对话框,我选择的不推荐. 3.然后下载jdk,并安装 安装直接点下一步,下 ...
-
Yii 多个子目录同步登录
---恢复内容开始--- 配置文件中: 1 'components'=>array( 'user'=>array( 'class'=>'CWebUser', 'identityCo ...
-
php——n维数组的遍历——递归
<?php /**** ****/function digui($arr){ foreach($arr as $key => $value) { if(is_ar ...
-
iOS - OC iOS 开发体系
1.iOS 开发技术体系 iOS 开发技术体系图: 层级 主要框架 Cocoa Touch UIKit 等 Media Core Graphics .OpenGl ES.Core Animation ...
-
springMVC视频教程
http://edu.51cto.com/index.php?do=lession&id=42165
-
The Promise of Deep Learning
The Promise of Deep Learning By Yoshua Bengio Humans have long dreamed of creating machines that thi ...
-
JavaScript错误处理
JavaScript 错误 - Throw.Try 和 Catch JavaScript 测试和捕捉 try 语句允许我们定义在执行时进行错误测试的代码块. catch 语句允许我们定义当 try 代 ...
-
Email Cover Letter Format
http://jobsearch.about.com/od/sampleletters/ig/Sample-Letter-Formats/Email-Message-Format.htm Copy ...
-
SquirrelMQ消息队列
SquirrelMQ是一个快速的消息队列. SquirrelMQ特性: 1. SquirrelMQ使用Slab内存分配算法来降低内存碎片,使用epoll来解决高并发问题.效率比redis要高,使用简单 ...