安装真正可用的speedtest

之前的文章提到,安装caddy前需要clone一个speedtest界面做伪装,但实际上按照那个步骤只能说有测速的功能,但是并不能完全体现出服务器的速度,今天就来记录一下如何使speedtest真正可用。

效果对比

image-20210204171339250

配置前,测速结果不准确,IP地址无法检测。

image-20210204171423711

配置后,测速及IP地址检测均正常。

首先安装必须的软件并启用:

yum install php php-fpm
systemctl enable php-fpm
systemctl start php-fpm

注意:yum默认安装的是php5.4版本,如果需要更新的php版本,可以去网上搜索安装教程。

因为speedtest对php最低的版本要求就是5.4,所以这里我直接使用默认的包。

创建目录并clone:

mkdir /var/www
cd /var/www
git clone https://github.com/librespeed/speedtest
mv example-singleServer-pretty.html index.html
rm -rf example-*

更改caddy配置文件

因为caddy1和caddy2(目前默认安装的版本)配置文件写法已经不同,所以这个给出两个版本的写法。

caddy2 配置
nano /etc/caddy/Caddyfile

# 粘贴如下内容
:80 {
  root * /var/www/speedtest
  file_server
  reverse_proxy /mineray localhost:8888
  php_fastcgi 127.0.0.1:9000
}

# 添加了php_fastcgi 127.0.0.1:9000 这一句
caddy1 配置
nano /etc/caddy/Caddyfile

# 粘贴如下内容
:80 {
  root /var/www/speedtest
  gzip
  browse
  fastcgi / 127.0.0.1:9000 php
  proxy /mineray localhost:8888 {
    websocket
    header_upstream -Origin
  }
}

# 添加了 fastcgi / 127.0.0.1:9000 php 这一句

上面两个配置文件 :80 { 一行是因为我有一个前置代理,如果使用caddy作为主服务器,将它改为你的域名即可,如

https://speedtest.pakro.top {
  root * /var/www/speedtest
  file_server
  reverse_proxy /mineray localhost:8888
  php_fastcgi 127.0.0.1:9000
}

然后重启caddy即可。

systemctl restart caddy

此时访问测速页面即可体验真正的测速服务了。