宝塔面板批量部署有三种方法:一是SSH脚本远程执行,适用于已配SSH密钥的Linux服务器;二是PXE网络启动自动安装;三是Docker容器化封装镜像实现快速迁移。

如果您需要在多台服务器上快速部署宝塔面板,手动逐台安装不仅耗时且易出错。以下是通过脚本方式实现宝塔面板批量同步安装的具体操作步骤:
一、使用统一Shell脚本远程批量执行
该方法通过本地控制端生成含安装命令的Shell脚本,并利用SSH密钥免密登录各目标服务器并顺序执行安装指令,适用于Linux系统且已配置好SSH密钥认证的环境。
1、在本地终端创建脚本文件:touch install_baota.sh
2、向脚本写入内容:echo "wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sudo bash install.sh" > install_baota.sh
3、为脚本添加可执行权限:chmod +x install_baota.sh
4、编写循环调用脚本,依次连接每台服务器并执行安装命令:for ip in 192.168.1.10 192.168.1.11 192.168.1.12; do ssh user@$ip 'bash -s'
二、借助Ansible自动化部署
Ansible无需在被控端安装客户端,仅需Python环境和SSH访问权限,适合中大型服务器集群的标准化部署,能确保安装过程一致且可复现。
1、在控制节点安装Ansible:pip3 install ansible
2、配置主机清单文件hosts,列出所有目标服务器IP及用户信息:[baota_servers] 192.168.1.10 ansible_user=root 192.168.1.11 ansible_user=root
3、创建playbook文件install_baota.yml,定义安装任务:- hosts: baota_servers tasks: - name: Download and install Baota shell: wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh creates=/www/server/panel
4、运行部署命令:ansible-playbook -i hosts install_baota.yml
三、基于SaltStack推送安装任务
SaltStack采用主从架构,Master端集中下发命令至已注册的Minion节点,支持高并发执行与状态管理,适用于已建立Salt基础设施的运维场景。
1、确认所有目标服务器已安装并启动Salt Minion服务,且已接受Master端密钥认证
2、在Salt Master上执行远程命令:salt '*' cmd.run 'wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh'
3、检查各节点返回结果,确认/www/server/panel目录是否成功创建
4、若需等待安装完成后再统一验证,可追加状态检测命令:salt '*' cmd.run '[ -d /www/server/panel ] && echo "installed" || echo "failed"'
四、使用PXE网络启动批量装机+预置脚本
该方案适用于裸机初始化阶段,在服务器首次加电时通过网络引导加载定制镜像,自动完成系统安装与宝塔部署,适合新购大批量物理服务器场景。
1、搭建DHCP+TFTP+HTTP服务,准备包含CentOS最小化镜像及kickstart自动应答文件的PXE环境
2、在kickstart文件末尾添加%post段,嵌入宝塔安装逻辑:%post wget -O /tmp/install.sh http://download.bt.cn/install/install_6.0.sh chmod +x /tmp/install.sh /tmp/install.sh > /var/log/baota_install.log 2>&1 %end
3、将定制镜像写入PXE启动菜单,设置目标服务器从网络启动
4、开机后系统自动分区、安装、重启,并在首次运行时后台静默执行宝塔安装流程
五、Docker容器化封装宝塔运行环境
通过构建含宝塔面板的Docker镜像,在各服务器上以容器形式运行,避免系统依赖冲突,便于版本控制与快速迁移,适用于测试或隔离要求较高的部署需求。
1、在一台服务器上手动安装宝塔面板并配置所需网站、数据库等基础服务
2、提交当前系统状态为镜像:docker commit -m "baota-with-site" -a "admin" $(hostname) baota-custom:latest
3、导出镜像为tar包:docker save baota-custom:latest > baota-custom.tar
4、将tar包复制到其他服务器并加载:scp baota-custom.tar user@192.168.1.11:/tmp/ && ssh user@192.168.1.11 'docker load









