更新卡在下载进度条不动,先用SSH执行ping -c 4 download.bt.cn确认网络连通性;若失败则换源执行curl -k https://download.bt.cn/install/update6.sh | bash;再检查磁盘、inode及端口,最后清浏览器缓存。

更新卡在“下载进度条”不动?先确认网络连通性
宝塔面板更新失败最常见的原因,就是根本连不上官方下载源 download.bt.cn。不是面板坏了,是它压根没拿到更新包。
- 别在面板自带的「终端」里执行更新命令——那里走的是面板内嵌 Python 环境,常因路径或权限异常中断
- 必须用服务器原生 SSH 终端(如 Xshell、Termius 或云厂商控制台),并确保 root 权限
- 执行
ping -c 4 download.bt.cn,看是否能通;若超时或丢包严重,说明网络链路有问题 - 阿里云/腾讯云用户特别注意:北京、广州、杭州等节点近期偶发 DNS 解析延迟,可加试
curl -I http://download.bt.cn,跳过 DNS 直连检测
“ERROR: 下载更新包失败”?换源或强制重置环境
即使 ping 通,wget 或 curl 仍可能因 SSL 证书校验、HTTP 重定向或 CDN 节点异常失败——这不是你服务器的问题,是下载链路抖动。
- 优先尝试宝塔官方推荐的稳定升级脚本:
curl https://download.bt.cn/install/update6.sh | bash - 如果提示证书错误(如
SSL certificate problem),临时绕过验证(仅限本次):curl -k https://download.bt.cn/install/update6.sh | bash - 若反复失败,大概率是旧版 Python 环境损坏(尤其 PHP 8.2.28 环境下易触发)。执行以下两步清理重建:
mv /www/server/panel/pyenv /www/backup/pyenv_backupcurl http://download.bt.cn/install/update_panel.sh | bash
更新后页面仍转圈?检查磁盘、inode 和端口
更新命令看似跑完了,但面板前端打不开,往往不是更新没成功,而是服务起不来或访问被拦了。
- 查磁盘空间:
df -h—— 若/www分区使用率 ≥95%,面板无法写入日志和缓存,必卡 - 查 inode 耗尽:
df -i—— 小文件(如日志、session)爆满时,df -h显示空间充足,但面板直接拒绝响应 - 查面板端口是否本地可达:
curl 127.0.0.1:$(cat /www/server/panel/data/port.pl)/login—— 返回 HTML 即服务正常;若报Connection refused,说明面板进程未启动,需bt restart - 云服务器务必同步检查安全组:8888(或自定义端口)是否对公网开放,且协议为 TCP
浏览器显示“加载中”但服务已正常?清缓存比重装更有效
很多用户重启面板、重装脚本都做了,结果一刷新还是转圈——其实是浏览器把旧版 JS/CSS 缓存住了,根本没发新请求。
立即学习“PHP免费学习笔记(深入)”;
- 别急着删面板数据,先开无痕窗口(
Ctrl+Shift+N)访问面板地址 - 若无痕模式能进,说明是本地缓存问题:强制刷新(
Ctrl+F5)或清除站点特定缓存(开发者工具 → Application → Clear storage) - Chrome/Firefox 对 HSTS 策略较严格,若之前用过 HTTPS 面板地址,又切回 HTTP,会静默跳转失败,此时必须清 HSTS 缓存(chrome://net-internals/#hsts)
真正卡住的地方,往往不在代码里,而在你没看的那行 df -i 输出里,或者浏览器地址栏那个小锁图标背后。











