宝塔集群管理插件已不可用。官方2023年底下架且未开源,第三方所谓新版实为旧版,在8.x+上无法安装或连接;根本原因是bt_cluster后端服务停运,接口返回404。推荐用bt命令+SSH批量执行,如parallel-ssh调用bt restart_php等。

宝塔集群管理插件是否还可用?
不能用了。官方在 2023 年底已下架 集群管理 插件,且未开放源码;目前所有声称“最新版集群插件”的下载链接,基本是第三方打包的旧版(v1.0~v1.2),在宝塔 8.x+ 上无法安装或安装后无法连接节点。
根本原因不是兼容性补丁没跟上,而是插件依赖的 bt_cluster 后端服务早已停运,控制台请求 /cluster/get_list 等接口全部返回 404 或空数据。
替代方案:用 bt 命令 + SSH 批量执行
这是目前最稳定、无需额外插件、且能覆盖 95% 管理场景的方式。核心思路是:把单台服务器上的 bt 命令封装成脚本,再用 ssh 并行触发。
-
bt命令本身支持几乎所有面板操作:重启网站bt restart_site、重载 Nginxbt reload_nginx、查看日志bt logs、添加计划任务bt add_cron - 避免用
curl http://127.0.0.1:8888/xxx调用面板 API —— 默认关闭 CSRF 验证,且需手动提取 token,极易失败 - 批量执行推荐用
parallel-ssh(非pdsh):它自带超时、错误聚合、并发数控制,比 for 循环 + & 更可靠
示例:重启 5 台服务器的 PHP 服务
parallel-ssh -i -H "root@192.168.1.10" -H "root@192.168.1.11" -H "root@192.168.1.12" -H "root@192.168.1.13" -H "root@192.168.1.14" "bt restart_php"
如何统一同步网站配置和 SSL 证书?
别试图用 rsync 直接拷贝 /www/server/panel/vhost/ 下的 conf 文件 —— 宝塔会校验文件头注释里的 BT-CONF-VERSION 和站点 ID,乱改会导致面板识别失败或自动还原。
- 正确做法:用
bt export_site导出站点(生成 .zip),再用bt import_site导入;这两个命令会处理路径映射、权限、SSL 指向等细节 - SSL 证书建议统一走 acme.sh + DNS API 自动续签,而非依赖面板内置申请 —— 面板的证书管理不支持跨服务器共享 key/cert 文件,且续签日志分散难排查
- 若必须同步证书文件,只同步
/www/server/panel/vhost/cert/域名/下的fullchain.pem和privkey.pem,且导入后必须手动执行bt reload_nginx
为什么不用 Ansible / SaltStack?
Ansible 看似更“正规”,但在宝塔环境下反而增加故障点:
- Ansible 的
shell模块默认不加载用户环境变量,bt命令常报command not found,需显式写/www/server/panel/pyenv/bin/python /www/server/panel/class/bt.py - Ansible 的幂等性在宝塔场景中意义不大:重启服务、重载配置这类操作本身无状态,重复执行无害;但 Ansible 的条件判断(如
when: xxx.stat.exists)容易因路径权限或 SELinux 失效 - 真正需要自动化的是「新服务器初始化」,这部分用 shell 脚本 +
curl -sS https://download.bt.cn/install/install_6.0.sh一行搞定,比写 Ansible role 更快更透明
复杂点在于:所有远程执行都绕不开 SSH 密钥管理和连接稳定性。别省事用密码登录,也别把私钥硬编码进脚本 —— 用 ssh-agent + ssh-add 托管,否则批量失败时你得挨个输密码。

















