用服务器搭建你自己的SpeedTest测速服务器
本文最后更新于:2022年11月4日 下午
经常用Speedtest测速,但实际上你也可以用服务器搭建自己的测速网站。测试的是你上传/下载流文件到测速服务器的速度。注意测速的上限是你服务器的带宽上限。
❗ 注意:
一定程度上存在被恶意刷流量的风险,在对外分享你的测速页面后,请注意观察服务器流量使用情况,避免流量使用异常。
项目地址
本文介绍的是Speedtest-X的搭建。
- 用户测速会上传测速记录并保存至网站服务器
- 不依赖 MySQL,使用文件数据库
- IP 库改用 ip.sb,运营商记录更为精确
Docker部署
使用uname -m
或者arch
命令查看你自己服务器的架构。然后在下面2选1。
arm架构
运行 docker run -d -p 9001:80 -it --name speedtest-x stilleshan/speedtest-x
amd架构
运行 docker run -d -p 9001:80 -it --name speedtest-x badapple9/speedtest-x
参数解释
-d
:以常驻进程模式启动9001: 默认容器开放端口,可改为其他端口
启动时可指定的环境变量:
-e WEBPORT=80:
容器内使用的端口-e MAX_LOG_COUNT=100:
最大可保存多少条测速记录-e IP_SERVICE=ip.sb:
使用的 IP 运营商解析服务(ip.sb
或ipinfo.io
)-e SAME_IP_MULTI_LOGS=false:
是否允许同一IP记录多条测速结果
ipv6支持【不建议】
如果想让 Docker
容器支持 ipv6
,可编辑 /etc/docker/daemon.json
,加上以下内容:(如果不存在这个文件则直接创建)
1 |
|
注意,你在使用docker run
命令的时候会读取这个文件内容,创建其他容器也会同时支持ipv6,如果创建完容器又删除这段内容,之前创建的docker容器依然会支持ipv6。所以如果不想要的话建议创建完容器就删除。以免其他容器出现错误。
访问页面
访问 {IP}:{端口}/index.html
进行测速。
Nginx反代
如果想要用域名来访问,可以采用Nginx反代的方法。
参考本站另一篇文章:
用Nginx做简单反向代理