5分鐘在ARM盒子上安裝完寶塔面板,不得不說的秘密

分析寶塔在Arm盒子上的安裝過程,編譯調(diào)試依賴包,將寶塔面板安裝速度從100+分鐘降低到5分鐘

5分鐘在ARM盒子上安裝完寶塔面板,不得不說的秘密?

各種ARM電視盒子刷了Linux/Ubuntu/Centos/Debian/UOS是真香,盒子大部分有1-4G的RAM,尤其是4G版本的,跑起數(shù)據(jù)庫和PHP也是很香,LNMP更是順暢.
在Linux系統(tǒng)上安裝LNMP最簡單直接的方法是用寶塔面板來一鍵安裝.
但是在ARM盒子上安裝寶塔面板簡直慢的要命,寶塔面板本身就需要1個(gè)多小時(shí),再安裝LNMP往往需要幾個(gè)小時(shí),實(shí)在是慢的驚人.

寶塔加速包

進(jìn)入正文前,循例先肝效果,干貨放前面

  • 5分鐘內(nèi)在Arm64盒子的Linux系統(tǒng)上安裝完成寶塔面板
  • LNMP安裝加速30%以上
  • 安裝腳本是官網(wǎng)下載

寶塔安裝在Arm上為什么這么慢

經(jīng)過調(diào)試、跟蹤寶塔面板的安裝過程,下圖是寶塔安裝的基本步驟

寶塔面板安裝流程

安裝python 3.7

這一步并不是通過apt-get或者dnf來安裝,安裝腳本會(huì)自動(dòng)到寶塔的服務(wù)器上去下載python3.7對(duì)應(yīng)的編譯好的包,
如果沒有就下載源代碼,重新編譯整個(gè)python
很不幸的是寶塔面板并沒有aarch64的預(yù)編譯包,因此每次安裝都會(huì)重新編譯整個(gè)python.

安裝python libs

這一步是pip install 一些依賴庫,有些庫實(shí)在是編譯的巨慢,而且pip install多線程貌似還不能用

編譯依賴包

寶塔面板為了更加簡單、方便、可靠,很多包是自行重新編譯的,如curl/openssl等等。
Arm64還是前妻的孩子,服務(wù)器上沒有對(duì)應(yīng)的預(yù)編譯包,對(duì)應(yīng)的包都需要完全重新編譯,這個(gè)也是漫長的過程。

對(duì)于LNMP依賴的每個(gè)具體組件,如Nginx其安裝的基本步驟


寶塔組件安裝步驟

可以看到耗時(shí)的是編譯依賴包和組件本身

加速包的實(shí)現(xiàn)

針對(duì)寶塔面板的安裝實(shí)現(xiàn),使用如下直接方式來加速其安裝:

  • 打包保存預(yù)編譯的python3.7,安裝時(shí)直接解壓使用,類比其從服務(wù)器下載
  • 提取保存pip libs的whl文件,安裝時(shí)直接安裝耗時(shí)的whl文件
  • 將依賴包編譯成.deb包,安裝時(shí)直接apt-get install方式直接使用
  • 將每個(gè)組件的常見依賴包編譯成.deb包,安裝時(shí)直接使用以加速LNMP等各種組件

針對(duì)每個(gè)組件本身的編譯,如nginx,目前尚未做優(yōu)化,其安裝腳本實(shí)現(xiàn)較為零散,以待后續(xù)持續(xù)優(yōu)化。

其中目前編譯好的deb包如下

版本 安裝路徑
curl7.74 7.74 /usr/local/curl_2 /usr/local/curl_2/lib
curl7.70 7.70 /usr/local/curl /usr/local/curl/lib
openssl102 1.0.2 /usr/local/openssl /usr/local/openssl/lib
openssl111 1.1.1 /usr/local/openssl111 /usr/local/openssl111/lib
lua5.1 5.1.5 /usr/local/ /usr/local/lib
luajit 2.1 /usr/local/ /usr/local/lib
luasocket 2.5.8 /usr/local/ /usr/local/lib
lua-cjson 2.1 /usr/local/ /usr/local/lib
freetype 2.9.1 /usr/local/freetype /usr/local/freetype/lib
icu4c 60.3 /usr/local/icu/ /usr/local/icu/lib
libiconv 1.14 /usr/local/libiconv/ /usr/local/libiconv/lib
onig 6.9.6 /usr/local/onig /usr/local/onig/lib
rpcsvc-proto 1.4 /usr/local/rpcgen /usr/local/rpcgen/lib
mhash 0.9.9 /usr/local/ /usr/local/lib
mcrypt 2.5.8 /usr/local/ /usr/local/lib
libsodium 1.0.18 /usr/local/libsodium/ /usr/local/libsodium//lib
libmcrypt 2.5.8 /usr/local/ /usr/local/lib

加速包的效果

通過這些預(yù)編譯的包,整個(gè)安裝過程得到極大加速

  • 5分鐘內(nèi)在Arm64盒子的Linux系統(tǒng)上安裝完成寶塔面板
  • LNMP安裝加速30%以上

加速包的使用

  git clone https://gitee.com/pdusb/pdusb-fast-btpanel.git .
  su -
  ./pdbolt-inst-bt-acel.sh
  bash /tmp/btp/pdbolt-bt-install/install.sh

幾分鐘后,寶塔安裝完成!!!

加速包的獲取

兩個(gè)途徑哦,一個(gè)是網(wǎng)盤

鏈接: https://pan.baidu.com/s/1pGLi-EP0wWJeh4OgKWVc7g
提取碼: 395h

另外一個(gè)是gitee下載

git clone https://gitee.com/pdusb/pdusb-fast-btpanel.git
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 歡迎訪問我的博客:小羊駝的部落閣在部署之前,請(qǐng)確保服務(wù)器安裝有以下環(huán)境 安裝環(huán)境 BT-Panel Python ...
    小裁縫的露哥哥閱讀 3,303評(píng)論 0 2
  • Bt寶塔的面板很好用,但是我們不排除面板出現(xiàn)問題,不能登陸,這種情況我們就只能利用ssh登陸來輸入命令解決很多的問...
    夏日De雨閱讀 3,597評(píng)論 0 0
  • 我是黑夜里大雨紛飛的人啊 1 “又到一年六月,有人笑有人哭,有人歡樂有人憂愁,有人驚喜有人失落,有的覺得收獲滿滿有...
    陌忘宇閱讀 8,832評(píng)論 28 54
  • 信任包括信任自己和信任他人 很多時(shí)候,很多事情,失敗、遺憾、錯(cuò)過,源于不自信,不信任他人 覺得自己做不成,別人做不...
    吳氵晃閱讀 6,364評(píng)論 4 8
  • 步驟:發(fā)微博01-導(dǎo)航欄內(nèi)容 -> 發(fā)微博02-自定義TextView -> 發(fā)微博03-完善TextView和...
    dibadalu閱讀 3,407評(píng)論 1 3

友情鏈接更多精彩內(nèi)容