最好用的內外網測速工具, speedtest 服務器搭建指南

最好用的內外網測速工具, speedtest 服務器搭建指南

大家好, 我是可愛的排骨

目錄一. speedtest 簡介.
二. 安裝到 Windows. 難度 ★★
三. 安裝到 Linux. 難度 ★★★★★
四. 安裝到 群暉 DSM. 難度 ★
五. 使用 Docker 鏡像部署. 難度 ★★★
六. 總結

一. speedtest 簡介.

1. 作者簡介.

喝井不忘挖水人, speedtest 的作者不是排骨, 是下面這位.

speedtest 是由意大利的一位90後愛打遊戲愛跳舞機的逗B碼農 Federico Dossena (見下圖) 發佈的一個開源項目 (https://github.com/adolfintel/speedtest).

最好用的內外網測速工具, speedtest 服務器搭建指南

2. 原理簡介

speedtest 以 HTML 和 JavaScript 為主, 利用客戶端的瀏覽器通過上傳和下載垃圾數據來測試 HTTP 傳輸速度, 和大家常用的 speedtest.net 差不多.

speedtest 使用任意操作系統上的任意 Web 服務器作為服務端, 所以理論上它支持 Windows/MacOS/Linux/Unix 等系統, IIS/Nginx/Apache/lighttpd 等服務器.

任意瀏覽器作為客戶端如 Chrome/Firefox/IE11/Edge/Safari/Opera?

speedtest 默認使用 PHP 作為服務端, 目前也有 node.js 版本, 也可以只用純靜態服務器.

本文所說的 speedtestOokla 公司的 speedtest.net相關測速 app 沒有任何關係, 沒何關, 沒關, .

**二. 安裝到 Windows. 難度 **★★

在 Windows 上安裝 speedtest 應該是絕大多數普通用戶, 為了照顧沒有相關經驗的用戶, 這裡排骨寫的步驟較多較細, 但是已經最大化的精簡了.

本文以 Windows 10 為例, Windows 7 也適用, 不過某些地方有不同, 排骨會註明.

1. 安裝 IIS 服務器.

使用 Win+R 打開運行窗口, 輸入 **OptionalFeatures **打開 Windows 功能.

最好用的內外網測速工具, speedtest 服務器搭建指南

最好用的內外網測速工具, speedtest 服務器搭建指南

必須選擇 IIS 管理控制檯/靜態內容/默認文檔/CGI 4個選項. 默認文檔不是必需的.

2. 下載並安裝 PHP Manager for IIS.

PHP Manager for IIS 是微軟官方推薦的一個 IIS 插件, 可以

最大化的簡化 IIS 上配置 PHP 的過程. 如果不用這個插件, 在 Windows 上配置 PHP 會比 Linux 上更麻煩.

下載地址: https://www.iis.net/downloads/community

最好用的內外網測速工具, speedtest 服務器搭建指南

Win7 系統安裝** PHPManagerForIIS-1.2.0**

Win10 系統安裝 PHPManagerForIIS_V1.5.0, 這裡排骨以 Win10 為例.

最好用的內外網測速工具, speedtest 服務器搭建指南

最好用的內外網測速工具, speedtest 服務器搭建指南

如果出現 SmartScreen 提示, 請按上面的圖繼續.

最好用的內外網測速工具, speedtest 服務器搭建指南

最好用的內外網測速工具, speedtest 服務器搭建指南

最好用的內外網測速工具, speedtest 服務器搭建指南

安裝過程就是一路 Next.

3. 下載 PHP 包並解壓

x64版下載: https://windows.php.net/downloads/releases/php-7.2.6-nts-Win32-VC15-x64.zip

x86版下載: https://windows.php.net/downloads/releases/php-7.2.6-nts-Win32-VC15-x86.zip

將下載好的 zip 包解壓到任意路徑, 如 F:\php

最好用的內外網測速工具, speedtest 服務器搭建指南

4. 為 IIS 配置 PHP.

最好用的內外網測速工具, speedtest 服務器搭建指南

使用 inetmgr 命令掃開 IIS 管理器.

最好用的內外網測速工具, speedtest 服務器搭建指南

打開 PHP Manager.

最好用的內外網測速工具, speedtest 服務器搭建指南

通過 “Register new PHP version” 設置 PHP 引用路徑.

最好用的內外網測速工具, speedtest 服務器搭建指南

上一次我們把 PHP 的文件解壓到了 F:\php.

最好用的內外網測速工具, speedtest 服務器搭建指南

最好用的內外網測速工具, speedtest 服務器搭建指南

使用 Check phpinfo() 測試 PHP 配置是否成功.

最好用的內外網測速工具, speedtest 服務器搭建指南

如果看到這個紫色頁面, 就說明 PHP 配置成功了.

5. 下載 speedtest 包並解壓.

speedtest 包下載: https://github.com/adolfintel/speedtest/archive/4.5.5.zip

解壓到 C:\inetpub\wwwroot, 熟悉 IIS 配置的用戶可以解壓到其它地方.

注意所有文件都在壓縮包裡的子目錄中!

最好用的內外網測速工具, speedtest 服務器搭建指南

6. 測試 speedtest.

用瀏覽器 (推薦 Chrome) 訪問 http://localhost/example-pretty.html. 如果出現下圖這樣的測試結果則表達 speedtest 運行成功.

最好用的內外網測速工具, speedtest 服務器搭建指南

7. 防火牆開啟入站 80 端口.

這一步是可選的. 如果內網的其它電腦或手機無法訪問這臺 Windows 上的 speedtest, 可能是被 Windows 防火牆擋了.

將 Windows 入站端口 80 打開後, 內網的其它設備才能訪問剛剛安裝好的 speedtest.

以管理員身份運行 cmd 打開命令行窗口. 使用下面的命令行給防火牆開啟 80 端口.

netsh advfirewall firewall add rule name=“speedtest” dir=in action=allow protocol=TCP localport=80

最好用的內外網測速工具, speedtest 服務器搭建指南

Win7命令為

netsh firewall add portopening TCP 80 “speedtest”

最後用手機或其它電腦訪問 http://192.168.1.91/example-pretty.html 開始測速吧 (假設安裝 speedtest 的電腦 IP 為 192.168.1.91).

最好用的內外網測速工具, speedtest 服務器搭建指南

**三. 安裝到 Linux. 難度 **★★★★★

一般用戶家中沒有 Linux 電腦, 不過排骨考慮到使用 OMV 等系統作 NAS 的用戶和自購有 VPS 的用戶, 順便也寫一下 Linux 上安裝 speedtest的步驟. 用 Linux 系統的用戶基礎都不會太菜吧?

下面 ubuntu 18.04 為例, 其它 Linux 版本的用戶請自行調整.

1. 安裝 nginx 和 php-fpm

sudo apt install nginx php-fpm

2. 修改 nginx 站點配置

sudo nano /etc/nginx/sites-available/default

以下面為修改配置文件內容, 注意 /var/run/php/php7.2-fpm.sock 的路徑是不是正確.

server { listen 80 default_server; root /var/www/html; index index.html; server_name _; location / { try_files $uri KaTeX parse error: Expected 'EOF', got '}' at position 19: …/ =404; }̲ locatio… { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; }}

重啟 nginx.

sudo service nginx restart

3. 下載 speedtest 並解壓

speedtest 包下載: https://github.com/adolfintel/speedtest/archive/4.5.5.zip

sudo wget https://github.com/adolfintel/speedtest/archive/4.5.5.zip

解壓到 /var/www/html.

sudo unzip 4.5.5.zip -d /var/www/html/sudo mv /var/www/html/speedtest-4.5.5/* /var/www/html/

4. 防火牆開啟入站 80 端口

這步也是可選的.

sudo ufw allow 80

安裝配置完成. 開始測速吧!

**四. 安裝到 群暉 DSM. 難度 **★★

在群暉系統上安裝 speedtest 是個非常好的選擇, 也是最簡單的方案. 與 Linux 上安裝 speedtest 類似, 群暉的管理系統本身就是基於 Linux 和 nginx 的.

1. 下載 speedtest 並上傳到群暉.

speedtest 包下載: https://github.com/adolfintel/speedtest/archive/4.5.5.zip

將 speedtest 包中的文件上傳到群暉共享文件夾的某個目錄, 如下圖

最好用的內外網測速工具, speedtest 服務器搭建指南

2. 安裝 Web Station 和 PHP 7.0.

從群暉套件中心可以找到, PHP 7.0 可能在安裝 Photo Station 時一併安裝好了.

最好用的內外網測速工具, speedtest 服務器搭建指南

3. 設置 PHP 和 虛擬主機.

打開 Web Station 套件, 選擇 PHP 設置, 編輯

默認PHP配件文件. 勾選 openssl.

最好用的內外網測速工具, speedtest 服務器搭建指南

最好用的內外網測速工具, speedtest 服務器搭建指南

選擇 虛擬主機, 點擊 新增, 然後按下圖配置虛擬主機. 其中 端口文檔根目錄 按實際情況設置.

最好用的內外網測速工具, speedtest 服務器搭建指南

安裝配置完成. 開始測速吧!

**五. 使用 Docker 鏡像部署. 難度 **
★★★

用 Docker 部署 speedtest 是最簡易快速的方法, 但是對用戶來說起點也是最高的.

排骨專門給 speedtest 製作了 Docker 鏡像 (6MB), 比原作者的鏡像 (158MB) 小很多很多很多.

1. 下載 speedtest 鏡像.

docker pull cuteribs/speedtest

2. 創建 speedtest 容器.

docker run -d --name speedtest -p 80:80 cuteribs/speedtest

安裝配置完成. 開始測速吧! 2行命令就搞定了, 是不是簡單得要死而絕大多數人又不會?

六. 總結

按上面任一方法搭建好 speedtest 服務器後, 就可以愉快的測速了.

不論是測內網還是外網

不論是測 路由器, AP, 網卡還是VPS

不論是測 有線 NAT, 2.4G/5G WiFi 還是 SS等軟件轉發

只要打開瀏覽器, 輸入 speedtest 地址就行了.

speedtest 測速的優點:

  1. 測試簡單暴力. 瀏覽器就能測, 無需別裝 app.
  2. 界面簡潔明瞭. 直觀且無廣告不收費.
  3. 上行下行兼顧. 不用雙向測試, 不像 iperf3 只能單向.

speedtest 測速的缺點:

  1. 用戶技能要求. 需要自己安裝測速服務器, 希望本貼能解決這個問題.
  2. 測速協議片面. 基於 HTTP 協議測速, 有些片面. 不過95%的用戶有90%的網絡使用都是 HTTP. (純瞎說的 哈~)
  3. 性能瓶頸要求. 因為基於 Web 服務器和 JavaScript, 所以服務器和客戶端性能不能太差. 測試 2.5/5/10 千兆可能力不從心.


分享到:


相關文章: