宝塔面板安装:10个下载节点双源实测,装不上卡在哪一步
装宝塔面板这件事,失败率比想象中高。多数人卡在进度条走了一半不动,重装几次还是同一个位置,最后归结为「这台机器不行」。实际原因往往不在机器,而在安装器挑下载节点的那几秒钟。

一句话结论:宝塔面板安装失败,多数卡在选下载节点这一步。10 个官方节点里有 2 个测速接口当前不可用,装之前删掉 /www/node.pl 就能强制重新测速。
宝塔官方安装脚本里写死了 10 个下载节点。我用两台国内机器(广东电信 AS4816、阿里云北京 AS37963)把这 10 个节点逐个测了一遍,同时把 install_panel.sh 拆开看它怎么选点。测完发现两件事:名单里有两个节点当前是坏的,而选点逻辑只看一个 1.5 KB 的小文件。
一、宝塔面板安装前先过三关
第一关是系统。官方支持 CentOS、Ubuntu、Debian、AlmaLinux、RockyLinux。CentOS 7 已经停止维护,新机器别再选它。脚本开头还有一段 macOS 检查,检测到 Darwin 直接退出并提示改用 Docker。
第二关是内存。脚本里写得很直白:
MEM_TOTAL=$(free -m|grep Mem|awk '{print $2}')
if [ "${MEM_TOTAL}" -lt "450" ];then
echo "检测到当前服务器内存小于450MB,无法安装宝塔面板"
exit 1
fi
低于 450 MB 连装都装不上,脚本自己建议换 512 MB 以上的机器。装完面板本身跑得动,但接着装 MySQL 8 和 PHP 就会碰到 OOM。内存小于等于 1 GB 时脚本会自动建 swap,这一步会多花几分钟,进度条停在「正在设置虚拟内存」属于正常。
第三关是磁盘和权限。脚本会往 /www 写一个 disk.pl 做可写校验,失败时报 ERROR: Install python env fielded. 并提示检查目录、用户和磁盘权限。20 GB 起步比较稳妥,LNMP 全家桶装完加上日志,10 GB 的盘很快就会满。机器还没买的话,可以先在主机商列表按机房和支付方式筛一遍。
二、宝塔面板安装命令:现在是 install_panel.sh
宝塔官方文档 2026 年 9 月更新的命令是这一条:
if [ -f /usr/bin/curl ];then curl -sSO https://download.bt.cn/install/install_panel.sh;else wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh;fi;bash install_panel.sh docscenter
网上大量教程还在给 install_6.0.sh,那是 6.x 时代的脚本,跑在新系统上会缺依赖。也有人把命令简写成 install.sh,这个文件名在官方源上已经不对应面板安装脚本。命令跑起来后会问一句 Do you want to install Bt-Panel to the /www directory now?(y/n),输入 y 回车。
脚本本体只有 91 KB,如果连这一步都卡住,问题在 DNS 或出网,跟节点快慢无关。
三、敲回车之后,安装器做了五件事
拆开脚本,安装流程是固定的:
- 请求
api.bt.cn/api/isCN,判断这台机器是否在中国大陆; - 按判断结果换一套候选节点表,大陆一套、海外一套;
- 对每个候选节点请求一次
/net_test,按响应体的字节数和耗时打分; - 把选中的节点写进
/www/node.pl; - 用这个节点下载
panel6.zip(46,946,652 字节),再装依赖、起服务。
大陆分支的候选是 8 个,海外分支是 6 个。大陆这套里 download-cdn1 出现了两次,一次 https 一次 http,所以实际只有 7 个不同域名。
选点的判断条件写得很具体:响应必须是 HTTP 200,响应体字节数不小于 1500,耗时(减去固定 500 ms)小于 300 ms 才进快表;响应体达到 2390 就提前结束,不再试后面的节点。全部失败才回落到 download.bt.cn。
这里有个容易踩的地方。脚本开头会先读 /www/node.pl:
if [ -f "/www/node.pl" ];then
download_Url=$(cat /www/node.pl)
return
fi
只要这个文件在,脚本就不再测速,直接用上次那个节点。装到一半中断、删了 /www 之外的东西重来,节点还是老的那一个。想让它重新选,得先把 /www/node.pl 删掉。
四、10 个节点,两个源,实测

口径如下:两个探测源分别是中国广东电信 AS4816(单线)和阿里云北京 AS37963(BGP 多线),每个节点 20 个 ICMP 包取平均,/net_test 请求 3 次取中位,安装包取前 4 MB 分两次测吞吐取中位。采样时间 2026-10-24 上午。
| 节点 | 域名 | 广东电信 avg(ms) | 丢包 | 阿里云北京 avg(ms) | 丢包 | 两源差(ms) |
|---|---|---|---|---|---|---|
| 东莞(dg2) | dg2.bt.cn |
6.057 | 0.0% | 51.509 | 0.0% | 45.452 |
| 主域名 / 回落默认 | download.bt.cn |
4.993 | 0.0% | 51.524 | 0.0% | 46.531 |
| CDN 备用 | download-cdn1.bt.cn |
30.311 | 0.0% | 16.810 | 0.0% | 13.501 |
| 电信线路节点 | ctcc1-node.bt.cn |
29.822 | 0.0% | 51.797 | 0.0% | 21.975 |
| 移动线路节点 | cmcc1-node.bt.cn |
5.906 | 0.0% | 35.938 | 0.0% | 30.032 |
| 电信备用节点 | ctcc2-node.bt.cn |
5.328(节点异常) | 0.0% | 36.496(节点异常) | 0.0% | 31.168 |
| 香港节点 | hk1-node.bt.cn |
30.145 | 0.0% | 51.923 | 0.0% | 21.778 |
| 北美节点 | na1-node.bt.cn |
158.672 | 0.0% | 192.187 | 0.0% | 33.515 |
| 东京节点 | jp1-node.bt.cn |
110.238 | 0.0% | 105.139 | 0.0% | 5.099 |
| Cloudflare 节点 | cf1-node.aapanel.com |
196.479 | 0.0% | 169.850 | 0.0% | 26.629 |
十个节点全部 0% 丢包,两源都是。延迟上,广东源最低的是 download.bt.cn 的 4.993 ms,最高是 cf1-node.aapanel.com 的 196.479 ms;北京源最低是 download-cdn1.bt.cn 的 16.810 ms,最高是 na1-node.bt.cn 的 192.187 ms。两源差最大的是 download.bt.cn,广东 4.993 ms 对北京 51.524 ms,相差 46.531 ms;cf1 走 Cloudflare anycast,两源分别解析到 104.26.11.85 和 172.67.73.28,ipinfo 标注都在美国,但 anycast 的实际落点无法从解析结果判断。
再看吞吐。安装包 panel6.zip 实测 46,946,652 字节,取前 4 MB 各拉两遍,结果和延迟完全不是一回事:
| 节点 | 广东 net_test(s) | 北京 net_test(s) | 广东 4MB 吞吐(MB/s) | 北京 4MB 吞吐(MB/s) | 备注 |
|---|---|---|---|---|---|
| 东莞(dg2) | 0.605 | 0.776 | 1.153 | 6.023 | |
| 主域名 / 回落默认 | 0.322 | 0.758 | 1.104 | 5.931 | |
| CDN 备用 | 0.797 | 0.871 | 1.119 | 7.749 | net_test 返回 500,安装包仍可下 |
| 电信线路节点 | 0.664 | 0.766 | 1.132 | 6.478 | |
| 移动线路节点 | 0.629 | 0.739 | 1.139 | 7.344 | |
| 电信备用节点 | 0.111 | 0.171 | 未取得 | 未取得 | TLS 证书不匹配,取不到数据 |
| 香港节点 | 0.652 | 0.776 | 1.114 | 5.850 | |
| 北美节点 | 1.049 | 1.328 | 0.778 | 0.835 | |
| 东京节点 | 3.041 | 1.033 | 0.788 | 0.814 | |
| Cloudflare 节点 | 1.121 | 1.821 | 0.843 | 1.243 |
五、三个反直觉的结论
5.1 「香港节点」在国内多半没出省
把每个节点在 /net_test 请求里实际落到的 IP 列出来,问题就很清楚了(同一域名不同请求可能落到同一 CDN 的不同边缘,表中是本次 3 次请求的落点):
| 节点 | 广东源解析到 | 归属 | 北京源解析到 | 归属 |
|---|---|---|---|---|
| 东莞(dg2) | 211.99.112.100 |
AS134543 广东联通(标注 广州) | 112.5.37.34 |
AS9808 中国移动(ipinfo 标注 福建福州) |
| 主域名 / 回落默认 | 125.44.162.111 |
AS4837 中国联通 169 骨干(标注 郑州) | 112.5.37.34 |
AS9808 中国移动(ipinfo 标注 福建福州) |
| CDN 备用 | 58.221.77.156 |
AS4134 中国电信骨干(标注 南京) | 123.184.216.109 |
未复核 |
| 电信线路节点 | 112.5.37.34 |
AS9808 中国移动(ipinfo 标注 福建福州) | 112.5.37.34 |
AS9808 中国移动(ipinfo 标注 福建福州) |
| 移动线路节点 | 211.99.112.100 |
AS134543 广东联通(标注 广州) | 211.99.112.100 |
AS134543 广东联通(标注 广州) |
| 电信备用节点 | 211.99.112.67 |
AS134543 广东联通(标注 广州) | 211.99.112.67 |
AS134543 广东联通(标注 广州) |
| 香港节点 | 112.5.37.34 |
AS9808 中国移动(ipinfo 标注 福建福州) | 112.5.37.34 |
AS9808 中国移动(ipinfo 标注 福建福州) |
| 北美节点 | 128.1.164.196 |
AS21859 Zenlayer(标注 洛杉矶) | 128.1.164.196 |
AS21859 Zenlayer(标注 洛杉矶) |
| 东京节点 | 45.76.53.20 |
AS20473 The Constant Company(标注 东京) | 45.76.53.20 |
AS20473 The Constant Company(标注 东京) |
| Cloudflare 节点 | 104.26.11.85 |
AS13335 Cloudflare(标注 旧金山) | 172.67.73.28 |
AS13335 Cloudflare(标注 旧金山) |
hk1-node.bt.cn 名字里带香港,但两个源都解析到 112.5.37.34,ipinfo 归属 AS9808 中国移动,标注地是福建福州。ctcc1-node.bt.cn 名字里带电信,解析到的是同一个地址。北京源上,dg2、download、ctcc1、hk1 四个域名全部指向这一台。
节点名说明的是这个域名在哪个机房有一份源文件,不说明你的请求最终落在哪。宝塔官网在前面挂了 CDN,按访客的运营商和地区调度,所以你看到 30 ms 的「香港节点」,很可能根本没出省。
5.2 名单里有两个节点当前是坏的
ctcc2-node.bt.cn 解析到 211.99.112.67(AS134543 广东联通)。两个源、https 和 http 两种协议我都试了:
- https 下 TLS 握手失败,广东源报
tlsv1 unrecognized name,北京源报SSL peer has no certificate for the requested DNS name; - http 下直接空响应,
Empty reply from server。
download-cdn1.bt.cn 则是另一种坏法:/net_test 稳定返回 HTTP 500,错误页 170 字节。广东源解析到 117.24.243.212,北京源解析到 123.184.216.70,两个落点都是 500。
安装器要求 HTTP 200 才计入候选,这两个节点在选点时会被直接跳过。大陆分支的 8 个候选位对应 7 个不同域名,去掉这 2 个测速失败的,实际能被选中的只有 5 个:dg2、download、ctcc1、cmcc1、hk1。
另外说明一下口径:上面落点表里 download-cdn1 两源分别是 58.221.77.156 和 123.184.216.109,那是 /net_test 请求落到的边缘;单独复核 500 错误时又解析到 117.24.243.212 和 123.184.216.70。同一个 CDN 的不同边缘,报的都是 500。
有意思的是 download-cdn1 的安装包下载并不慢,北京源上它跑到 7.749 MB/s,是全表最快的。一个节点测速接口挂了、下载却最快,这种错位正好说明安装器只看响应体字节数的打分方式,只能当参考。
5.3 吞吐这一列,量的是你自己的出口
广东源上,大陆 6 个能取到数据的节点,吞吐全落在 1.104 到 1.153 MB/s 之间,折合 8.8 到 9.2 Mbps,彼此差不到 5%;三个海外节点(na1、jp1、cf1)在 0.778 到 0.843 MB/s。北京源上,大陆 6 个节点是 5.850 到 7.749 MB/s,折合 46.8 到 62.0 Mbps,三个海外节点 0.814 到 1.243 MB/s。
同样是大陆节点,北京源比广东源快五倍以上。瓶颈不在宝塔的 CDN,在探测机自己的出口带宽。所以吞吐这一列只能在同一个源里横向比,跨源比没有意义。真要判断某个节点对你的速度,只能在自己的机器上测。
六、按你的线路选节点
延迟数据摆在这里,选择其实不复杂:
- 广东、福建一带的电信或移动线路,
dg2.bt.cn和cmcc1-node.bt.cn都在 6 ms 上下,直接用它俩; - 北京及华北的 BGP 机器,
download-cdn1和cmcc1最快,但前者测速接口是坏的,实用首选还是cmcc1和ctcc1; - 海外机器(
isCN返回 False),脚本自己会走cf1-node.aapanel.com、jp1、na1这套组合,实测 cf1 两源 169 到 196 ms,na1 和 jp1 在 105 到 192 ms,都不算快,但没有更好的选择; - 想省事,直接用
download.bt.cn。它是回落默认值,两源延迟分别 4.993 ms 和 51.524 ms,吞吐与大陆其他节点差在 5% 以内,属于不会出错的选择。
要手动指定节点,最稳的做法是装之前先写好 /www/node.pl,里面只放一行节点地址,比如 https://dg2.bt.cn。改完再跑安装命令,脚本读到文件就跳过测速。
网上流传的 hosts 写死 IP 的做法不建议跟。IP 会变,写死等于把线路锁在一个可能已经下线的边缘节点上,而且改 hosts 会影响同一台机器上其他域名的解析。至于第三方的一键换源脚本,它指向的地址不在官方域名下,装面板这种要 root 权限的操作,没必要引入这层风险。
七、宝塔面板下载慢:先分清卡在哪一段
安装过程分四段,卡在不同位置的解法完全不同:
| 卡住的位置 | 实际在做什么 | 怎么判断 | 处理 |
|---|---|---|---|
| 命令刚执行就没动静 | 下载 install_panel.sh(91 KB) | 连 curl -I https://download.bt.cn/install/install_panel.sh 都不通 |
查 DNS 和出网,与节点无关 |
打印 Selected download node... 后停住 |
逐个请求 /net_test |
每个节点最多 3 秒,8 个节点最多 24 秒 | 正常等待,超过 1 分钟说明网络有拦截 |
打印 Download node: xxx 后进度条不动 |
下载 panel6.zip(44.8 MB) | 用同一个节点手动 curl 安装包 | 删 /www/node.pl 重跑,换节点 |
卡在编译或 正在设置虚拟内存 |
装依赖、建 swap | 看 /tmp/btpanel-install.log |
内存小于 1 GB 会建 swap,慢是正常的 |
脚本把全过程写进 /tmp/btpanel-install.log。卡住时先看这个文件最后几行,比反复重装有效。
八、宝塔面板安装失败:8 类高频报错
| 报错或现象 | 原因 | 处理 |
|---|---|---|
| 内存小于 450MB,无法安装宝塔面板 | 脚本硬门槛 | 加内存或换机器,swap 骗不过这一关 |
ERROR: Install python env fielded. |
/www 不可写 |
检查磁盘是否只读、是否已有同名目录属主不对 |
Could not get lock /var/lib/dpkg/lock |
apt 自动更新占用 | 等它跑完,或停掉 unattended-upgrades |
TLS 握手失败、unrecognized name |
落到 ctcc2 这类异常节点 | 删 /www/node.pl,手动指定其他节点 |
| 磁盘空间不足 | 分区太小或日志占满 | 清日志,df -h 确认 /www 所在分区 |
| 端口被占用 | 机器上已有 web 服务 | 先停掉旧服务,或装完改面板端口 |
| 依赖安装失败 | 系统源不可用 | 换系统源,AlmaLinux 与 RockyLinux 需要 EPEL |
| macOS 无法安装 | 脚本主动拒绝 | 用 Linux 机器,或走 Docker |
九、装完打不开:端口、安全组、安全入口
装完终端会打印面板地址、用户名和密码,三样都要存下来。面板端口是安装时随机分配的,不是固定 8888。官方文档里 8888 对应的是 phpmyadmin,很多人照着老教程去开 8888,自然打不开。
安全组要放行的是终端提示的那个面板端口。除此之外,按需放行 80、443、21、3306:80 和 443 是网站,21 是 FTP,3306 是 MySQL 远程连接,不需要外连数据库就别开。阿里云、腾讯云、华为云的控制台位置不一样,官方文档里有逐个厂商的图文步骤。
面板还有一个随机生成的安全入口路径,登录地址是 http://IP:端口/安全入口。只输 IP 和端口会看到 404 或者空白页,这也不是故障。
十、装完第一步:环境怎么选
面板装好后会提示装 LNMP 或 LAMP。版本选择上,Nginx 1.24 以上、MySQL 5.7 或 8.0、PHP 8.0 以上是比较稳的组合,PHP 7.4 已经停止维护,新站没必要再用。
机器配置要和环境匹配。1 核 1 GB 能装面板、能跑静态站,但 MySQL 8 的默认配置就要占掉 400 MB 以上,加上 PHP-FPM,很快会触发 OOM Killer。这种配置建议用 MySQL 5.7 并把 innodb_buffer_pool_size 压到 128 MB,或者干脆用 SQLite 跑轻量站。真要跑 WordPress 加几个插件,2 GB 内存是底线。
选机器这件事,线路比核数更影响体验。同样 2 核 2 GB,香港优化线路和欧洲机房的国内访问延迟能差出十倍,可以参考香港 VPS 机房的双源实测。预算有限的话,便宜 VPS 怎么选里讲了怎么识别超售和虚标带宽,比单看价格有用。想横向比商家,VPS 评测汇总按地区做了归类。
十一、还在流传的过时做法
- 用
install_6.0.sh或install.sh安装,这两个文件名在当前官方源上都不对应面板安装脚本; - 认为面板固定用 8888 端口,实际端口安装时随机,8888 是 phpmyadmin;
- 用 hosts 把节点 IP 写死,IP 会变,且会污染同机其他域名解析;
- 用第三方一键换源脚本,地址不在官方域名下,等于把 root 权限交给不明来源;
- 认为 512 MB 内存够用,面板本身够,装 LNMP 会 OOM;
- 认为必须买专业版才能建站,面板本体免费,专业版是 WAF、报表这类增值功能;
- 用
rm -rf /www清理重装,站点和数据库会一起没; - 把 Windows 面板的操作照搬 Linux,Windows 版走远程桌面,不是 SSH。
装完机器先验一遍再上业务,比事后排查省事,具体项目可以看VPS 到手怎么验货。想找当前在做的促销,优惠码汇总比挨个翻官网快;按机房挑机器的,这份按机房索引的主机商清单可以一次比完。
十二、常见问题
宝塔面板安装需要多少内存?
脚本硬门槛是 450 MB,低于这个值直接退出并提示换 512 MB 以上的机器。面板本身在 512 MB 上能跑,但同时装 MySQL 和 PHP 会 OOM。跑 WordPress 这类动态站,2 GB 起步比较稳。内存小于等于 1 GB 时脚本会自动创建 swap。
为什么重装之后还是卡在同一个节点?
因为安装器把上次选中的节点写进了 /www/node.pl,下次运行直接读这个文件,不再测速。删掉 /www/node.pl 再重跑,才会重新对 10 个节点做一遍 net_test。
download.bt.cn 打不开怎么办?
先确认是 DNS 还是网络问题:curl -I https://download.bt.cn/install/install_panel.sh,如果连不上,换 https://dg2.bt.cn 或 https://cmcc1-node.bt.cn 试同一个路径。两个都通说明是主域名的解析问题,可以临时改 /www/node.pl 指定可用节点,不建议长期写 hosts。
面板装完为什么显示 404 或者空白页?
大概率是少了安全入口。登录地址是 IP:端口/安全入口,只输 IP 和端口打不开。安全入口在安装完成的终端输出里有,也可以在服务器上执行 bt default 查看面板信息。
1 核 1 GB 的机器能装宝塔吗?
能装。脚本要求 450 MB 以上内存,1 GB 满足条件,还会自动建 swap。但装完 LNMP 之后余量很小,MySQL 8 默认配置就吃不消,建议用 MySQL 5.7 并调低缓冲池,或者只跑静态站和轻量应用。
安装包有多大,装完占多少磁盘?
panel6.zip 当前是 46,946,652 字节,约 44.8 MB。装完面板本体、Python 环境和依赖大约占 1 GB 到 1.5 GB,再装 LNMP 会到 3 GB 以上。给 /www 留 20 GB 比较从容。
海外机器会不会自动选海外节点?
会。脚本先请求 api.bt.cn/api/isCN,返回 False 时换成海外分支,候选是 cf1、jp1、na1、download、dg2、download-cdn1 这套组合。实测 cf1 在 169 到 196 ms,jp1 和 na1 在 105 到 192 ms,比国内节点慢一截。
