5分钟在ARM盒子上安装完宝塔面板,不得不说的秘密

分析宝塔在Arm盒子上的安装过程,编译调试依赖包,将宝塔面板安装速度从100+分钟降低到5分钟

5分钟在ARM盒子上安装完宝塔面板,不得不说的秘密?

各种ARM电视盒子刷了Linux/Ubuntu/Centos/Debian/UOS是真香,盒子大部分有1-4G的RAM,尤其是4G版本的,跑起数据库和PHP也是很香,LNMP更是顺畅.
在Linux系统上安装LNMP最简单直接的方法是用宝塔面板来一键安装.
但是在ARM盒子上安装宝塔面板简直慢的要命,宝塔面板本身就需要1个多小时,再安装LNMP往往需要几个小时,实在是慢的惊人.

宝塔加速包

进入正文前,循例先肝效果,干货放前面

  • 5分钟内在Arm64盒子的Linux系统上安装完成宝塔面板
  • LNMP安装加速30%以上
  • 安装脚本是官网下载

宝塔安装在Arm上为什么这么慢

经过调试、跟踪宝塔面板的安装过程,下图是宝塔安装的基本步骤

宝塔面板安装流程

安装python 3.7

这一步并不是通过apt-get或者dnf来安装,安装脚本会自动到宝塔的服务器上去下载python3.7对应的编译好的包,
如果没有就下载源代码,重新编译整个python
很不幸的是宝塔面板并没有aarch64的预编译包,因此每次安装都会重新编译整个python.

安装python libs

这一步是pip install 一些依赖库,有些库实在是编译的巨慢,而且pip install多线程貌似还不能用

编译依赖包

宝塔面板为了更加简单、方便、可靠,很多包是自行重新编译的,如curl/openssl等等。
Arm64还是前妻的孩子,服务器上没有对应的预编译包,对应的包都需要完全重新编译,这个也是漫长的过程。

对于LNMP依赖的每个具体组件,如Nginx其安装的基本步骤


宝塔组件安装步骤

可以看到耗时的是编译依赖包和组件本身

加速包的实现

针对宝塔面板的安装实现,使用如下直接方式来加速其安装:

  • 打包保存预编译的python3.7,安装时直接解压使用,类比其从服务器下载
  • 提取保存pip libs的whl文件,安装时直接安装耗时的whl文件
  • 将依赖包编译成.deb包,安装时直接apt-get install方式直接使用
  • 将每个组件的常见依赖包编译成.deb包,安装时直接使用以加速LNMP等各种组件

针对每个组件本身的编译,如nginx,目前尚未做优化,其安装脚本实现较为零散,以待后续持续优化。

其中目前编译好的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

加速包的效果

通过这些预编译的包,整个安装过程得到极大加速

  • 5分钟内在Arm64盒子的Linux系统上安装完成宝塔面板
  • 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

几分钟后,宝塔安装完成!!!

加速包的获取

两个途径哦,一个是网盘

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

另外一个是gitee下载

git clone https://gitee.com/pdusb/pdusb-fast-btpanel.git

你可能感兴趣的:(5分钟在ARM盒子上安装完宝塔面板,不得不说的秘密)