目錄一. speedtest 簡介.二. 安裝到 Windows. 難度 ★★三. 安裝到 Linux. 難度 ★★★★★四. 安裝到 群暉 DSM. 難度 ★五. 使用 Docker 映象部署. 難度 ★★★六. 總結
一. speedtest 簡介.1. 作者簡介.
喝井不忘挖水人, speedtest 的作者不是排骨, 是下面這位.
speedtest 是由義大利的一位90後愛打遊戲愛跳舞機的逗B碼農 Federico Dossena (見下圖) 釋出的一個開源專案 (https://github.com/adolfintel/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 版本, 也可以只用純靜態伺服器.
本文所說的 speedtest 與 Ookla 公司的 speedtest.net 及相關測速 app 沒有任何關係, 沒何關, 沒關, 沒.
**二. 安裝到 Windows. 難度 **★★在 Windows 上安裝 speedtest 應該是絕大多數普通使用者, 為了照顧沒有相關經驗的使用者, 這裡排骨寫的步驟較多較細, 但是已經最大化的精簡了.
本文以 Windows 10 為例, Windows 7 也適用, 不過某些地方有不同, 排骨會註明.
1. 安裝 IIS 伺服器.
使用 Win+R 開啟執行視窗, 輸入 **OptionalFeatures **開啟 Windows 功能.
必須選擇 IIS 管理控制檯/靜態內容/預設文件/CGI 4個選項. 預設文件不是必需的.
2. 下載並安裝 PHP Manager for IIS.
PHP Manager for IIS 是微軟官方推薦的一個 IIS 外掛, 可以最大化的簡化 IIS 上配置 PHP 的過程. 如果不用這個外掛, 在 Windows 上配置 PHP 會比 Linux 上更麻煩.
下載地址: https://www.iis.net/downloads/community
Win7 系統安裝** PHPManagerForIIS-1.2.0**
Win10 系統安裝 PHPManagerForIIS_V1.5.0, 這裡排骨以 Win10 為例.
如果出現 SmartScreen 提示, 請按上面的圖繼續.
安裝過程就是一路 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
4. 為 IIS 配置 PHP.
使用 inetmgr 命令掃開 IIS 管理器.
開啟 PHP Manager.
通過 “Register new PHP version” 設定 PHP 引用路徑.
上一次我們把 PHP 的檔案解壓到了 F:\\php.
使用 Check phpinfo() 測試 PHP 配置是否成功.
如果看到這個紫色頁面, 就說明 PHP 配置成功了.
5. 下載 speedtest 包並解壓.
speedtest 包下載: https://github.com/adolfintel/speedtest/archive/4.5.5.zip
解壓到 C:\\inetpub\\wwwroot, 熟悉 IIS 配置的使用者可以解壓到其它地方.
注意所有檔案都在壓縮包裡的子目錄中!
6. 測試 speedtest.
用瀏覽器 (推薦 Chrome) 訪問 http://localhost/example-pretty.html. 如果出現下圖這樣的測試結果則表達 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
Win7命令為
netsh firewall add portopening TCP 80 “speedtest”
最後用手機或其它電腦訪問 http://192.168.1.91/example-pretty.html 開始測速吧 (假設安裝 speedtest 的電腦 IP 為 192.168.1.91).
**三. 安裝到 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 包中的檔案上傳到群暉共享資料夾的某個目錄, 如下圖
2. 安裝 Web Station 和 PHP 7.0.
從群暉套件中心可以找到, PHP 7.0 可能在安裝 Photo Station 時一併安裝好了.
3. 設定 PHP 和 虛擬主機.
開啟 Web Station 套件, 選擇 PHP 設定, 編輯預設PHP配件檔案. 勾選 openssl.
選擇 虛擬主機, 點選 新增, 然後按下圖配置虛擬主機. 其中 埠 和 文件根目錄 按實際情況設定.
安裝配置完成. 開始測速吧!
**五. 使用 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
只要開啟瀏覽器, 輸入 speedtest 地址就行了.
speedtest 測速的優點:
測試簡單暴力. 瀏覽器就能測, 無需別裝 app.介面簡潔明了. 直觀且無廣告不收費.上行下行兼顧. 不用雙向測試, 不像 iperf3 只能單向.speedtest 測速的缺點:
使用者技能要求. 需要自己安裝測速伺服器, 希望本貼能解決這個問題.測速協議片面. 基於 HTTP 協議測速, 有些片面. 不過95%的使用者有90%的網路使用都是 HTTP. (純瞎說的 哈~)效能瓶頸要求. 因為基於 Web 伺服器和 JavaScript, 所以伺服器和客戶端效能不能太差. 測試 2.5/5/10 千兆可能力不從心.-
1 #
有做成虛擬機器的映象嗎?