假设你刚买了50个老域名,打算在宝塔面板上做一批站。打开面板,点"添加站点"——填域名、选目录、开FTP、建数据库、选PHP版本——提交,一个站搞完。50个站,按最快手速算,一个站30秒,50个就是25分钟。中间还要复制粘贴域名、确认目录没冲突、核对数据库名——实际下来,一个小时起步。要是100个、200个域名,光添加站点就能耗掉一个下午。
先说结论:宝塔面板批量添加站点有四种方法,从简单到硬核:①面板内置批量添加(适合10-50个域名)→ ②bt命令行脚本(适合50-200个域名)→ ③API接口调用(适合200+域名,可写进自动化流程)→ ④多域名绑定同一站点(纯站群场景)。前三种是真正的"每个域名一个独立站点",第四种是多域名指向同一站。用哪个看你域名数量和动手能力。
一、四种方法一张表看清楚
| 方法 | 上手难度 | 适合域名数 | 需写代码 | 独立站点 |
|---|---|---|---|---|
| 面板内置批量添加 | 低 | 10-50个 | 不需要 | ✅ |
| bt命令行脚本 | 中 | 50-200个 | 三行Shell | ✅ |
| API接口脚本 | 高 | 200+ | 需要 | ✅ |
| 多域名绑定同一站 | 低 | 不限 | 不需要 | ❌ 同站多域名 |
二、面板内置批量添加,零代码最快上手
这是绝大多数人用得上的方式。宝塔面板从7.5.27版本开始,在"添加站点"按钮旁边加了一个「批量添加站点」入口。
操作步骤
- 登录宝塔面板,点击左侧「网站」菜单
- 找到「添加站点」按钮右侧的下拉箭头,选择「批量添加站点」
- 在弹窗的域名输入框中,每行写一个域名(如 site1.com、site2.net)
- 统一设置公共参数:是否创建FTP、是否创建MySQL数据库、PHP版本、站点根目录
- 点击「提交」,等几秒全部建完
高级格式:逐站点定制参数
如果每个站点的配置不一样——有的要FTP有的不要,有的用PHP7.4有的用PHP8.0——可以用竖线分隔的逐站点格式:
| 参数 | 说明 | 取值 |
|---|---|---|
| 域名 | 主域名,多个用英文逗号分隔 | 如 abc.com,www.abc.com |
| 根目录 | 网站根目录路径 | 1 = 自动创建;或填具体路径 |
| FTP | 是否创建FTP账号 | 1 = 创建;0 = 不创建 |
| 数据库 | 是否创建MySQL数据库 | 1 = 创建;0 = 不创建 |
| PHP版本 | 指定PHP版本 | 0 = 静态;56/74/80等 |
举个实际例子,同时建三个不同类型的站:
blog.mydomain.com|/www/wwwroot/blog|0|1|80
landing.mydomain.com|/www/wwwroot/landing|0|0|0
第一条建了带FTP和数据库的PHP7.4商城站,第二条建了只有数据库的PHP8.0博客站,第三条建了纯静态落地页。三条记录一次性提交,三秒建完。
三、bt命令行脚本,50个域名一行循环搞定
域名数量超过50个,或经常有批量建站需求,写个Shell脚本比每次点面板高效得多。宝塔自带的 bt 命令行工具支持直接添加站点。

把域名写到一个文本文件里,每行一个:
site1.com
site2.com
site3.com
...
site100.com
一行循环脚本全部搞定:
bt add_site $domain 74
done < sites.txt
bt add_site 的默认行为:自动创建FTP、自动建MySQL数据库、自动尝试申请SSL证书——建完就能用。PHP版本ID填你实际安装的版本号,74是PHP7.4,80是PHP8.0。
注意:bt命令行默认根目录是 /www/wwwroot/域名/,数据库名也按域名自动生成。如果两个域名前缀太接近(比如 site-1.com 和 site-1.net),数据库名可能会冲突。建站前先检查域名列表。
四、API接口调用,200+域名的自动化方案
建站量级到200+,或者想把批量建站嵌入自动化流程(域名购买后自动建站),就需要API了。
开通步骤:宝塔面板 →「设置」→「面板API」→ 开启开关 → 获取API密钥和面板地址。
Shell版API批量建站脚本:
API_URL="http://你的面板IP:8888"
API_KEY="你的API密钥"
SITE_DIR="/www/wwwroot"
while IFS= read -r domain; do
[ -z "$domain" ] && continue
echo "创建:$domain"
curl -s -X POST "$API_URL/api?key=$API_KEY" \
-d '{
"action": "AddSite",
"domain": "'"$domain"'",
"path": "'"$SITE_DIR/$domain"'",
"version": "74",
"sql": true
}'
echo ""
done < domains.txt
API方式比bt命令好两点:可精确控制每个参数(数据库名、密码、FTP、伪静态规则等),能拿到返回结果,知道哪个域名创建成功、哪个失败、为什么失败。大规模操作中,后者尤其重要。
关于API的鉴权方式:开启面板API后你会拿到一个密钥,所有请求都通过在URL上携带 ?key=你的密钥 来鉴权。安全起见,建议在宝塔面板的安全设置里把API接口的IP白名单打开,只允许你自己的服务器IP调用,避免密钥泄露后被别人操作你的面板。
另外,如果你用的是Python而不是Shell,用 requests.post() 替代curl会更方便处理返回的JSON。核心参数结构不变,把action、domain、path、version、sql这几个字段构造成dict传过去就行。宝塔官方文档提供了Python Demo可以直接下载参考。
五、建完后的三项必查
脚本跑完不等于大功告成。批量建站时宝塔在高并发下可能跳过校验,下面三项手动检查一下。
第一项:Nginx配置是否生效
SSH执行 nginx -t,返回 syntax is ok 说明所有站点配置正常。报错通常是server_name重复或域名里有下划线。

第二项:SSL证书是否申请成功
SSH执行 bt 76 查看所有证书状态。"未获取到证书"的用 bt 77 强制续签。证书失败通常是DNS未解析或80/443端口未放行。
第三项:默认首页是否覆盖了你的模板
批量建站后每个站点根目录会生成默认index.html。有统一模板的话用一行rsync批量覆盖:
while read domain; do cp /www/template/index.html /www/wwwroot/$domain/; done < sites.txt
六、选哪种方法?看场景
| 你的情况 | 推荐方法 | 理由 |
|---|---|---|
| 10-30个域名,偶尔建一次 | 面板内置批量添加 | 零学习成本,点几下就行 |
| 50-200个域名,经常操作 | bt命令行脚本 | 三行代码,可复用 |
| 200+,需嵌入自动化 | API接口脚本 | 可控性最强,有返回结果 |
| 纯站群,多域名同内容 | 先建一站,再批量绑定域名 | 建主站后在域名管理里绑定其他域名 |
七、四个容易翻车的地方
1. 一次别建太多,分批来
一次超过50个站点,面板可能超时或消耗过多资源。建议每批20-30个,建完一批等几秒再下一批。
2. 数据库名冲突
宝塔自动生成数据库名时把点号替换成下划线。如果两个域名只有后缀不同(如 abc.com 和 abc.cn),生成的数据库名可能完全一样。用API方式可自定义每个数据库名避免此问题。
3. 伪静态规则别统一设
WordPress、ThinkPHP、Laravel的伪静态规则完全不同。批量建站时统一选一种,后面会发现有些站404。建完站后根据程序类型逐个调整。
4. DNS未生效就申请SSL
Let's Encrypt验证需要域名已解析到服务器IP。刚改完DNS就批量申请SSL,大概率批量失败。先用 ping 域名 确认解析生效再申请。
八、批量建站之后的批量管理
站点建完只是第一步。宝塔网站列表页支持多选,后续管理同样可以批量操作:
- 批量申请SSL证书:勾选多个站点 → 顶部「SSL」→ Let's Encrypt → 自动验证 → 一键批量申请
- 批量修改PHP版本:勾选多个站点 → 「批量修改」→ 选择目标PHP版本,全部同步切换
- 批量备份:「计划任务」→ 添加「备份数据库」+「备份网站」任务,勾选所有站点,设好周期自动执行
- 批量删除:勾选 → 「批量操作」→ 删除。删前确认是否同时删除FTP和数据库
还有一个小技巧很多人不知道:宝塔面板的"网站"列表页支持按域名、目录、PHP版本三个维度搜索和筛选。比如你建完200个站之后想找到所有用PHP7.4的站点,直接在搜索框里选PHP版本筛就行,不用一个个翻。如果想批量切换这些站点的PHP版本,筛选出来后全选、批量修改,两步完成。
说到批量建站之后的管理,还有一个场景容易被忽略:多个站点共享同一套程序文件。比如你用WordPress做了10个外贸站,每个站都装了一次WordPress,意味着你要维护10份同样的代码。如果WordPress出了安全更新,你得登录10次面板分别升级。更好的做法是用软链接(symlink)把核心文件共享,只让每个站点保留自己独立的 wp-config.php 和 uploads 目录。具体实现:先把WordPress核心文件放到 /www/common/wp-core/,每个站点的根目录下用 ln -s 把 wp-admin、wp-includes 等目录链接过去。这样升级一次核心文件,10个站全更新——这算是批量建站之后的进阶管理技巧。
如果你的建站规模到了需要批量管理几百个站点的程度,说明建站这件事本身已经不是瓶颈了——真正的瓶颈变成了内容生产、SEO优化、流量获取。这时候一个能批量建站、统一管理、自动SEO优化的系统级方案会比手动运维高效得多。UC建站系统支持批量创建和管理多个站点,自动处理域名绑定、SSL证书、数据库配置,并且内置SEO优化功能,适合需要大规模部署站群的场景。
最后说一句
宝塔批量建站这件事,门槛在"敢不敢用命令行",不在"会不会"。面板内置批量功能对大部分场景够用了;如果你愿意花五分钟学一下 bt add_site 那行命令,建站效率能从"一个下午"变成"去接杯水的功夫"。至于要不要上API,完全看你的域名数量和自动化程度——200个以内,bt命令行足够。
但有一点得说清楚:批量建站只是第一步。站点建完之后,内容怎么填、SSL怎么续、伪静态怎么配、备份怎么做——这些才是真正花时间的活。如果只想着"先把站建起来再说",后面你可能会发现自己在200个站点之间来回切换调配置,那比手动建站还累。
